我想在列中填充缺少的(NaN)值,其值取决于最后的非= NaN值。我的数据看起来像这样:
In [3]: A = pd.DataFrame(['X', np.nan, np.nan, 'Y',np.nan, np.nan, 'X', np.nan])
In [4]: A
Out[4]:
0
0 X
1 NaN
2 NaN
3 Y
4 NaN
5 NaN
6 X
7 NaN
我知道fillna
函数,但这不是我想要做的。这给了我以下内容:
In [5]: A.fillna(method='ffill') # Not what I want to do
Out[5]:
0
0 X
1 X
2 X
3 Y
4 Y
5 Y
6 X
7 X
例如,如果最后一个值是'X',我想填写'I',如果最后一个值是'Y',我想填写'J'。即。
Out[5]: # How do I get this?
0
0 X
1 I
2 I
3 Y
4 J
5 J
6 X
7 I
我确信我可以通过循环执行此操作,但如何在不诉诸此操作的情况下执行此操作?