亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Pandas DataFrame:根據列中的條件刪除重復行

Pandas DataFrame:根據列中的條件刪除重復行

撒科打諢 2023-07-11 16:46:43
我有一個大數據框: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()


查看完整回答
反對 回復 2023-07-11
  • 1 回答
  • 0 關注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號