我有一个大数据框:import pandas as pd df = pd.read_csv('data.csv)df.head()ID Year status223725 1991 No223725 1992 No223725 1993 No223725 1994 No223725 1995 No我有很多唯一的IDs,我想根据列ID和删除重复的行status。如果 anID的值为Yesin status,则仅保留该行,而该特定的所有其他status值为 的 行都将被删除。NoID如果 an在每个观察中ID 都有, 则保留特定于该的任何行。NostatusID例如,在下面的 DataFrame 中,仅应保留状态为 68084329 的行,即Yes最后一行,所有其他行都No将被删除。 ID Year status68084329 1991 No68084329 1992 No68084329 1993 No68084329 1994 No68084329 1995 No68084329 1996 No68084329 1997 No68084329 1998 No68084329 1999 No68084329 2000 No68084329 2001 No68084329 2002 No68084329 2003 No68084329 2004 No68084329 2005 No68084329 2006 No68084329 2007 No68084329 2008 No68084329 2010 No68084329 2011 No68084329 2012 Yes如何根据上述条件删除重复行?
1 回答
天涯尽头无女友
TA贡献1831条经验 获得超9个赞
我认为你可以这样做:
# sort by status so that No comes before Yes
df = df.sort_values('status')
# pick the last row, it will either be Yes or No
df = df.groupby('ID').last()
添加回答
举报
0/150
提交
取消