Я пытаюсь заменить все значения в колонке панды dataframe df.column_A
, если они находятся в пределах диапазона от 1 до 10.Как изменить конкретные значения ячеек в серии столбцов dataframe pandas на основе нескольких условий?
Однако, когда я делаю:
df.loc[(1 < df.column_A < 10), "Column_A"] = 1
,
Я получаю:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()
.
С другой стороны, когда я делаю:
df.loc[(df.column_A < 10) & (df.column_A > 1), "df.column_A"] = 1
,
Я не имею получая ошибок нет вообще, но значения не заменяются.
Странно, что когда я делаю:
df.loc[(df.column_A < 10) | (df.column_A > 1), "df.column_A"] = 1
,
все значения в df.column_A
заменяются с 1
, как я бы ожидать.
Это означает, что синтаксис строки правильный, поэтому ошибка должна быть связана с некоторыми факторами, которые я не понимаю.
Что я делаю неправильно?