我有以下資料框,
date x1 x2 x3
2001-01-01 nan 0.4 0.1
2001-01-02 nan 0.3 nan
2021-01-03 nan nan 0.5
...
2001-05-05 nan 0.1 0.2
2001-05-06 0.1 nan 0.3
...
所以我想首先用零填充所有 nan 值,直到第一個資料點出現在每列中,之后,我希望其余的行使用 fowardfill 函式。
所以上面的資料框應該是這樣的,
date x1 x2 x3
2001-01-01 0 0.4 0.1
2001-01-02 0 0.3 0.1
2021-01-03 0 0.3 0.5
...
2001-05-05 0 0.1 0.2
2001-05-06 0.1 0.1 0.3
...
如果我先用 0 進行填充,然后再進行前向填充,就像這樣,
df = df.fillna(0)
df = df.ffill()
我只是讓所有 na 值都為零,并且我無法填充資料開始的部分。
有沒有辦法按照我想要的方式完成?
uj5u.com熱心網友回復:
反轉邏輯:
out = df.ffill().fillna(0)
print(out)
# Output
date x1 x2 x3
0 2001-01-01 0.0 0.4 0.1
1 2001-01-02 0.0 0.3 0.1
2 2021-01-03 0.0 0.3 0.5
3 2001-05-05 0.0 0.1 0.2
4 2001-05-06 0.1 0.1 0.3
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/412450.html
標籤:
