我有一个数据帧列表:
list = [a, b, c, d, e ,f]
每个数据框都有一个名为“ PEOPLE”的列,我想遍历此列表,并删除其中“ PEOPLE”中的值是另一个列表中的值之一的任何数据框中的任何行:< / p>
people_to_drop = ['PERSON ABC','PERSON DEF']
我一直在尝试以下方法:
for index,item in enumerate(list):
list[index] = item[~item['PEOPLE'].isin(people_to_drop)].copy()
但是,当我在for循环运行后检查数据集时,它们似乎并没有删除我要删除的行。有一个更好的方法吗?预先感谢!
答案 0 :(得分:3)
您可以尝试按以下方式理解列表
df_list = [a, b, c, d, e ,f]
new_df_list = [a_df[~a_df['PEOPLE'].isin(people_to_drop)].copy() for a_df in df_list]
然后,打印出new_df_list
中的每个数据框以进行检查
print(new_df_list[0])
print(new_df_list[1])