非常感謝以下問題,我真的不知道從哪里開始嘗試,
我有一個資料框
pd.DataFrame({'value':[1,1,2,2,1,1,1,1,1,2,1,1]})
我想撰寫一個遍歷值的函式,并洗掉接下來的 n 行中的任何重復項。
例如n=5,從第一個數字“1”開始,如果后面5行有“1”,則洗掉(用“x”標記)。在下一次迭代中,不會使用第二個“1”,因為它已從第一次迭代中洗掉。
結果資料框將是
pd.DataFrame({'value':[1,'x',2,'x','x','x',1,'x','x',2,'x','x']})
我希望最終洗掉“x”行,但為了說明起見,我已將其標記出來。
uj5u.com熱心網友回復:
您是否真的想看到“x”,它們只是為了向我們展示它們將被洗掉嗎?
如果后者你可以做這樣的事情:
x1 = pd.DataFrame({'value':[1,1,2,2,1,1,1,1,1,2,1,1]})
x1['t'] = x1.index //5
x1.drop_duplicates(subset = ['value', 't']).drop(columns = 't')
value
0 1
2 2
5 1
9 2
10 1
uj5u.com熱心網友回復:
pd.DataFrame({'value':[1,'x',2,'x','x','x',1,'x','x',2,'x','x']}).drop_duplicates()
這是有關該功能引數的更多資訊的鏈接。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/357473.html
上一篇:將字典添加到DataFrame
