#pandas #dataframe
#pandas #фрейм данных
Вопрос:
Мне нужен метод для фильтрации столбца pandas, который является numpy.ndarry. Мне нужно отфильтровать, где ячейка является «истинной».
df = pd.DataFrame('id_num':['id_1','id_2,'id_3','id_4',id_5], 'Required':[['False'],['False,True'],['False'],['True, 'False'],['False']
df
Wanted:
id_num Required
id_2 [False, True]
id_4 [True, False]
Ответ №1:
Попробуйте:
df[df.Required.explode().eq('True').max(level=0)]
вывод:
id_num Required
1 id_2 [False, True]
3 id_4 [True, False]
Комментарии:
1. Требуемый столбец в моем фрейме данных — numpy.ndarry . Таким образом, оба решения не работают, поскольку это не список,
2. @JeffMagouirk пожалуйста, сделайте
df.to_dict()
и скопируйте выходные данные на свой вопрос. Ваш образец данных неверно отформатирован.
Ответ №2:
Проверьте
df[pd.DataFrame(df.Required.tolist()).eq('True').any(1)]
id_num Required
1 id_2 [False, True]
3 id_4 [True, False]