Я хочу применить несколько фильтров и соответственно изменить значение столбца в пандах
Предположим, у меня есть такой фрейм данных:
Fil1 Fil2 A B C D
a crossdev radio com Act 1 23 324
b crossdev webapp radio Act 4 45 343
a Streaming webapp radio Act 3 23 566
a crossdev com Act 1 12 746
Столбец Fil1 в фактическом файле - это действительно длинное имя, которое я фильтрую, но здесь я указываю на него просто как на «а».
Код, который я использую, -
df.loc[(df['Fil1'] == 'a') & (df['Fil2'].str.contains('com')) , 'C'] = 0
df.loc[(df['Fil1'] == 'a') & (df['Fil2'].str.contains('com')) , 'D'] = 0
df.loc[(df['Fil1'] == 'a') & (df['Fil2'].str.contains('com')) , 'A'] = 'Fail'
Вывод этого df в Excel.
Желаемый результат в Excel:
Fil1 Fil2 A B C D
a crossdev radio com Fail 1 0 0
b crossdev webapp radio Act 4 45 343
a Streaming webapp radio Act 3 23 566
a crossdev com Fail 1 0 0
Мой код не выдает ошибок, но даже не дает желаемого результата. Есть ли другой обходной путь?
1 ответ
Решение
Код рабочий! Ошибки не было.
Значение, которое я здесь обозначил как «а», было беспорядком в моем реальном наборе данных, который вызвал проблему.