У меня есть Dataframe, содержащий транзакции из учетной записи, и мне нужно распределить их по категориям и суммировать каждую категорию. Всего у меня 8 категорий, в каждой может быть 10+ ключевых слов. Я нашел на этом сайте сообщения, которые sh выполняли нечто подобное, но у них есть свои оговорки.
df['Contains string'] = (df[columns].apply(lambda x: x.str.contains('myString'))).sum(axis=1)
Это самое близкое, что я могу найти, но оно не позволяет использовать несколько ключевых слов или категорий.
Примеры категорий:
Phone payment - contains string "ATT Payment"
Supplies - contains string "EBAY" or "BIZCARD" or "AMAZON" or etc.
DataFrame может иметь неограниченное количество строк, но образец выглядит так:
TransactionID Debit Credit
0 ATT Payment ID 001 0.00 21.29
1 BIZCARD PAYMENT 0.00 124.93
2 Check #1867 8755.50 0.00
3 Check #1874 110.66 0.00
5 EBAY ID 544 0.00 36.00
6 AMAZONPAY 788 0.00 373.20
Столбец кредита будет только то, что требует суммирования значений.
Желаемый результат:
Phone Payment = 21.29
Supplies = 534.13
Etc. = 00
Новое в Python. Простите за недостаток или избыток информации. Спасибо.