遍历数据框列表并删除特定行

时间:2020-01-03 18:38:53

标签: python pandas dataframe

我有一个数据帧列表:

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循环运行后检查数据集时,它们似乎并没有删除我要删除的行。有一个更好的方法吗?预先感谢!

1 个答案:

答案 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])