ValueError: O valor de verdade de uma matriz com mais de um elemento é ambíguo. Use a.any () ou a.all ()
Acabei de descobrir um bug lógico no meu código que estava causando todos os tipos de problemas. Eu estava inadvertidamente fazendo umbit a bit E em vez de umAND lógico.
Eu mudei o código de:
<code>r = mlab.csv2rec(datafile, delimiter=',', names=COL_HEADERS) mask = ((r["dt"] >= startdate) & (r["dt"] <= enddate)) selected = r[mask] </code>
PARA:
<code>r = mlab.csv2rec(datafile, delimiter=',', names=COL_HEADERS) mask = ((r["dt"] >= startdate) and (r["dt"] <= enddate)) selected = r[mask] </code>
Para minha surpresa, recebi a mensagem de erro bastante enigmática:
ValueError: O valor de verdade de uma matriz com mais de um elemento é ambíguo. Use a.any () ou a.all ()
Por que um erro semelhante não foi emitido quando uso uma operação bit a bit - e como faço para corrigir isso?