Błąd wartości: wartość prawdy tablicy zawierającej więcej niż jeden element jest niejednoznaczna. Użyj a.any () lub a.all ()

Właśnie odkryłem błąd logiczny w moim kodzie, który powodował różnego rodzaju problemy. Nieumyślnie robiłembitowo ORAZ zamiastlogiczne AND.

Zmieniłem kod z:

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

DO:

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

Ku mojemu zdziwieniu otrzymałem dość tajemniczy komunikat o błędzie:

Błąd wartości: wartość prawdy tablicy zawierającej więcej niż jeden element jest niejednoznaczna. Użyj a.any () lub a.all ()

Dlaczego podobny błąd nie był emitowany, gdy używam operacji bitowej - i jak to naprawić?

questionAnswers(5)

yourAnswerToTheQuestion