簡體   English   中英

迭代數據框列表並刪除特定行

[英]Iterate over list of dataframes and drop specific rows

我有一個數據框列表:

list = [a, b, c, d, e ,f]

這些數據幀中的每一個都有一個名為“PEOPLE”的列,我想遍歷此列表並刪除任何數據框中的任何行,其中“PEOPLE”中的值是另一個列表中的值之一:

people_to_drop = ['PERSON ABC','PERSON DEF']

我一直在嘗試以下方法:

for index,item in enumerate(list):
     list[index] = item[~item['PEOPLE'].isin(people_to_drop)].copy()

但是,當我在 for 循環運行后檢查數據集時,它們似乎沒有刪除我想要刪除的行。 有一個更好的方法嗎? 提前致謝!

您可以嘗試如下列表理解

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM