Je suis en train de remplacer toutes les valeurs dans une colonne de dataframe de pandas géants df.column_A
si elles tombent dans la plage de 1 à 10.Comment modifier des valeurs de cellule spécifiques dans une série de colonnes de données pandas en fonction de plusieurs conditions?
Cependant, quand je fais:
df.loc[(1 < df.column_A < 10), "Column_A"] = 1
,
Je cède:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()
.
Sinon, quand je fais:
df.loc[(df.column_A < 10) & (df.column_A > 1), "df.column_A"] = 1
,
Je cédais pas d'erreur du tout, mais les valeurs ne suis pas remplacé.
étrange est que quand je fais:
df.loc[(df.column_A < 10) | (df.column_A > 1), "df.column_A"] = 1
,
toutes les valeurs df.column_A
se remplacés par 1
, comme je l'attendre. Cela signifie que la syntaxe de la ligne est correcte, donc l'erreur doit être due à certains facteurs que je ne comprends pas.
Qu'est-ce que je fais mal?