ValueError: Der Wahrheitswert eines Arrays mit mehr als einem Element ist nicht eindeutig. Benutze a.any () oder a.all ()

Ich habe gerade einen logischen Fehler in meinem Code entdeckt, der alle möglichen Probleme verursacht hat. Ich habe versehentlich einebitweises UND anstelle einerlogisches UND.

Ich habe den Code geändert von:

<code>r = mlab.csv2rec(datafile, delimiter=',', names=COL_HEADERS)
mask = ((r["dt"] >= startdate) & (r["dt"] <= enddate))
selected = r[mask]
</code>

ZU:

<code>r = mlab.csv2rec(datafile, delimiter=',', names=COL_HEADERS)
mask = ((r["dt"] >= startdate) and (r["dt"] <= enddate))
selected = r[mask]
</code>

Zu meiner Überraschung bekam ich die eher kryptische Fehlermeldung:

ValueError: Der Wahrheitswert eines Arrays mit mehr als einem Element ist nicht eindeutig. Benutze a.any () oder a.all ()

Warum wurde ein ähnlicher Fehler nicht ausgegeben, wenn ich eine bitweise Operation verwende - und wie behebe ich das?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage