第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

Pandas 刪除重復(fù)的行,包括索引

Pandas 刪除重復(fù)的行,包括索引

幕布斯7119047 2023-03-30 17:12:29
我知道如何根據(jù)列數(shù)據(jù)刪除重復(fù)行。我也知道如何根據(jù)行索引刪除重復(fù)的行。我的問題是:有沒有辦法根據(jù)索引和一列刪除重復(fù)的行?
查看完整描述

2 回答

?
隔江千里

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個贊

這可以通過將索引變成列來完成。


下面是一個示例數(shù)據(jù)集(僅供參考,我認(rèn)為有人否決了您的問題,因?yàn)樗话纠龜?shù)據(jù)集):


df=pd.DataFrame({'a':[1,2,2,3,4,4,5], 'b':[2,2,2,3,4,5,5]}, index=[0,1,1,2,3,5,5])

輸出:


   a  b

0  1  2

1  2  2

1  2  2

2  3  3

3  4  4

5  4  5

5  5  5

然后您可以使用以下行。第一個 reset_index() 創(chuàng)建一個帶有索引號的新列。然后,您可以根據(jù)新索引列和另一列(在本例中為 b)刪除重復(fù)項。之后,您可以使用 set_index('index') 將索引設(shè)置為原始索引值:


df.reset_index().drop_duplicates(subset=['index','b']).set_index('index')

輸出:


       a  b

index      

0      1  2

1      2  2

2      3  3

3      4  4

5      4  5


查看完整回答
反對 回復(fù) 2023-03-30
?
九州編程

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超4個贊

您可以使用 pandas 的.duplicated()方法而不是.drop_duplicates().


如果您關(guān)心索引和某些列中的重復(fù)項,您可以分別用 和b標(biāo)識相應(yīng)的索引。使用運(yùn)算符組合這些,然后使用 a 取反該交集,您會得到類似df.index.duplicated()df.duplicated(subset="b")&~


clean_df = df[~(df.index.duplicated() & df.duplicated(subset="b"))]

print(clean_df)

輸出:


? ?a? b

0? 1? 2

1? 2? 2

2? 3? 3

3? 4? 4

5? 4? 5


查看完整回答
反對 回復(fù) 2023-03-30
  • 2 回答
  • 0 關(guān)注
  • 274 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號