Я пытаюсь назначить одну из 8 меток моим данным на основе строк в существующем столбце. Однако, с помощью метода, который я использую, я получаю эту ошибку:
ValueError: Значение истинности Серии неоднозначно. Используйте a.empty, a.bool (), a.item (), a.any () или a.all ().
У меня 144 строки, которые я ищу, и которые я хочу присвоить 8 меткам.
Вот упрощенный пример того, что я имею в виду. Если A - это существующий столбец в моем фрейме данных, я хочу создать B со строками, назначенными в зависимости от значения A.
Dataframe:
A B
0 1 low
1 1 low
2 2 mid
3 3 mid
4 5 high
5 4 mid
6 2 mid
7 5 high
Код, который я сейчас использую, выглядит примерно так:
for index, row in df.iterrows():
if df['A'] == 1:
df['Label'] = 'low'
elif any([df['A'] == 2, df['A'] == 3, df['A'] == 4]):
df['Label'] = 'mid'
elif df['A'] == 5:
df['Label'] = 'high'
Я думаю, что использование any () дает мне ошибку.
Насколько я понимаю, это из-за того, как работают панды, но я не совсем понимаю. Есть ли более простой способ сделать это?
Любая помощь или указатели будут оценены:)