Ich versuche zu ersetzen alle Werte in einer Pandas Datenrahmen Spalte df.column_A
, wenn sie bis 10. im Bereich von 1 fallenWie ändert man bestimmte Zellenwerte in einer Pandas-Datenrahmenspaltenreihe basierend auf mehreren Bedingungen?
Allerdings, wenn ich tun:
df.loc[(1 < df.column_A < 10), "Column_A"] = 1
,
Ich gebe nach:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()
. Alternativ
, wenn ich das tue:
df.loc[(df.column_A < 10) & (df.column_A > 1), "df.column_A"] = 1
,
ich keinen Fehler ergibt überhaupt, aber die Werte nicht ersetzt bekommen.
Seltsam ist, dass, wenn ich tun:
df.loc[(df.column_A < 10) | (df.column_A > 1), "df.column_A"] = 1
,
alle Werte in df.column_A
mit 1
ersetzt bekommen, wie ich erwarten würde.
Das bedeutet, dass die Syntax der Zeile korrekt ist, daher muss der Fehler auf einige Faktoren zurückzuführen sein, die ich nicht verstehe.
Was mache ich falsch?