簡體   English   中英

根據另一列填充Pandas中的非數字值

[英]Filling non-numeric values in Pandas based on another column

我在pandas數據幀中丟失了非數字數據,有沒有辦法在另一列匹配時用另一行的值替換NaN? 例如:

tdf = pandas.DataFrame({
    "id": [np.nan, 22, 22, 45, 45, 81],
    "item": ["apple", "apple", "apple", "orange", "orange", "banana"]
})

    id  item
0   NaN apple
1   22  apple
2   22  apple
3   45  orange
4   45  orange
5   81  banana

所以我想用第一行替換22中的id,因為該項與第1行或第2行相同。

您可以groupby在“項目”,並通過PARAM as_index=False ,然后調用bfill填補NaN向后值:

In [424]:

tdf.groupby('item', as_index=False)..bfill()
Out[424]:
   id    item
0  22   apple
1  22   apple
2  22   apple
3  45  orange
4  45  orange
5  81  banana

暫無
暫無

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

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