Ho continuato a ricevere ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
durante i test booleani con i panda. Non capendo cosa diceva, ho deciso di provare a capirlo.Pandas Boolean .any() .all()
Tuttavia, sono totalmente confuso a questo punto.
Qui creo un dataframe di due variabili, con un unico punto di dati condivisi tra loro (3):
In [75]:
import pandas as pd
df = pd.DataFrame()
df['x'] = [1,2,3]
df['y'] = [3,4,5]
Ora cerco tutti (sia x meno y), che traduco alla "sono tutti i valori di x meno di y ", e ottengo una risposta che non ha senso.
In [79]:
if all(df['x'] < df['y']):
print('True')
else:
print('False')
True
Poi ho provato nessuno (è x meno y), che traduco a "è un qualsiasi valore di x meno di y", e ottengo un'altra risposta che non ha senso.
In [77]:
if any(df['x'] < df['y']):
print('True')
else:
print('False')
False
In breve: cosa fa any() e all() effettivamente?
ottengo vero in entrambi i casi. Sei sicuro che questo sia l'esempio che stai testando? – Marcin
Dai un'occhiata a 'df ['x']
Non riesco a riprodurre il bug che osservi. Per me, 'if any (df ['x']