ValueError: Значение истинности массива с более чем одним элементом неоднозначно. Используйте a.any () или a.all ()

Я только что обнаружил логическую ошибку в моем коде, которая вызывала все виды проблем. Я по неосторожности делалbitwise AND вместоlogical AND.

Я изменил код с:

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

TO:

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

К моему удивлению, я получил довольно загадочное сообщение об ошибке:

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Почему подобная ошибка не выдается, когда я использую побитовую операцию - и как я могу это исправить?

Ответы на вопрос(5)

Ваш ответ на вопрос