我有一個大數據框: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
提交
取消