ValueError: el valor de verdad de una matriz con más de un elemento es ambiguo. Utilice a.any () o a.all ()

Acabo de descubrir un error lógico en mi código que estaba causando todo tipo de problemas. Inadvertidamente estaba haciendo uny en el bit en vez de unaY lógico.

Cambié el código de:

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

A:

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

Para mi sorpresa, recibí el mensaje de error bastante críptico:

ValueError: el valor de verdad de una matriz con más de un elemento es ambiguo. Utilice a.any () o a.all ()

¿Por qué no se emitió un error similar cuando uso una operación a nivel de bits, y cómo soluciono esto?

Respuestas a la pregunta(5)

Su respuesta a la pregunta