簡體   English   中英

用 Python 中最接近的非 NaN 列值填充 NaN

[英]Fill NaN with the closest not NaN columns values in Python

我想用最接近的(從左側的位置) not NaN列的值填充e列的NaN

   a    b    c    d    e
0  1  2.0  3.0  6.0  3.0
1  3  5.0  7.0  NaN  NaN
2  2  4.0  NaN  NaN  NaN
3  5  6.0  NaN  NaN  NaN
4  3  NaN  NaN  NaN  NaN

例如,對於e的第二行,它最接近的Not NaN列是e by position,那么我們取7.0 ,在 Pandas 中可以這樣做嗎? 謝謝。

預期的輸出是這樣的:

   a    b    c    d    e
0  1  2.0  3.0  6.0  3.0
1  3  5.0  7.0  NaN  7.0
2  2  4.0  NaN  NaN  4.0
3  5  6.0  NaN  NaN  6.0
4  3  NaN  NaN  NaN  3.0

如果答案應該是簡化獲取從左側到最后一列的所有第一個非缺失值,使用向前填充它們並按位置選擇最后一列:

df.e = df.ffill(axis=1).iloc[:, -1]

暫無
暫無

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

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