Я только что обнаружил логическую ошибку в своем коде, которая вызывала всевозможные проблемы. Я случайно выполнил побитовое И вместо логическое И .
Я изменил код с:
r = mlab.csv2rec(datafile, delimiter=',', names=COL_HEADERS)
mask = ((r["dt"] >= startdate) & (r["dt"] <= enddate))
selected = r[mask]
НА:
r = mlab.csv2rec(datafile, delimiter=',', names=COL_HEADERS)
mask = ((r["dt"] >= startdate) and (r["dt"] <= enddate))
selected = r[mask]
К моему удивлению, я получил довольно загадочное сообщение об ошибке:
ValueError:Значение истинности массива с более чем одним элементом равно двусмысленный. Используйте a.any()или a.all ()
. Почему аналогичная ошибка не выдается при использовании побитовой операции -и как это исправить?