簡體   English   中英

熊貓不降楠

[英]Pandas does not drop nan

我有以下小組

              unemp   nobsRel  measure   rank  nobsRel2  nobsCumSummed
year foo                                                              
2000 8010  0.000024  0.000167      1.0  348.0  0.000167       0.980176
     4950  0.000264  0.003630      1.0  349.0  0.003630       0.983806
     2540  0.000438  0.011027      1.0  350.0  0.011027       0.994833
     9830  0.000118  0.000118      NaN    NaN  0.000118       0.994952
     9920  0.005048  0.005048      NaN    NaN  0.005048       1.000000

當我嘗試刪除重復項時,會發生以下情況:

輸入[104]:test.drop_duplicates(subset ='rank')輸出[104]:

              unemp   nobsRel  measure   rank  nobsRel2  nobsCumSummed
year foo                                                              
2000 8010  0.000024  0.000167      1.0  348.0  0.000167       0.980176
     4950  0.000264  0.003630      1.0  349.0  0.003630       0.983806
     2540  0.000438  0.011027      1.0  350.0  0.011027       0.994833
     9830  0.000118  0.000118      NaN    NaN  0.000118       0.994952

為什么最后一行仍然在那里? 它不見了!

In[105]: np.isnan(test.loc[(2000, 9830), 'rank'])
Out[105]: 
True

我在pandas 0.19.0

drop_duplicates()方法刪除除第一個副本之外的所有副本(默認情況下)。 但是,您可以通過更改參數來選擇保留哪個參數, 將其設置為lastfirstFalse 這里查看文檔

試試看:

test.drop_duplicates(subset='rank', keep=False)

可悲的是,似乎drop_duplicates並沒有滿足您的要求。 它刪除重復項,但不刪除重復項是...的重復項的原始行。

幸運的是,可以使用keep=False選項覆蓋該調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM