Как создать вычисляемый новый столбец в pandas - PullRequest
0 голосов
/ 30 мая 2020

Я пытаюсь сделать что-то в Python, что я могу легко сделать в Excel, но это просто не работает. По сути, я хочу взять фрейм данных, посмотреть на 2 столбца в фрейме данных и создать третий столбец на основе условных выражений. Короче говоря, я хочу посмотреть на foo, определить с помощью условной категории, в какую категорию он попадет, а затем добавить этот результат в thud для нового столбца со значением условного foo + thud.

My simpleisti c подход заключался в переборе фрейма данных, использовании словаря для хранения моих значений key: values ​​для условного теста foo, а затем создании нового столбца с результатом условного foo plus thud.

Моя задача - каждое решение, которое я пробовал, приводит к этой ошибке: ValueError: значение истинности Серии неоднозначно. Используйте a.empty, a.bool (), a.item (), a.any () или a.all ().

Мой алгоритм хорош, я чувствую, но выполнение кодирования с использованием Pandas isn не работает так, как я думал.

Как избежать ошибок Value? Или я совершенно нестандартен в своем подходе? Спасибо за уделенное время! enter image description here

1 Ответ

0 голосов
/ 30 мая 2020

без вашего кода это невозможно сказать ... но, исходя из ошибки, которую вы описали, я ожидал, что это решит вашу проблему

вы не можете сделать if dataframe

вы можете if dataframe is None:, если вы хотите проверить, нет ли его

или if len(dataframe) == 0:, если вы хотите проверить, если он пуст

, но более важно, обычно вы используете pandas, чтобы избежать зацикливания

Я собираюсь go рискнуть и предположить, что вы хотите что-то вроде следующего

coin_values = {'Gold':100,'Silver':10,'Bronze':1}

my_coin_values = df['Thud'].map(coin_values)

total_moneys = my_coin_values * df['foo']


print(df['qux'][total_moneys > 500]) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...