我有一个列表:
L = [-10,-9.8,-9.6, None, None, None, -8.8, -8.6, -8.4]
如何根据值的传播将None替换为值,如下所示:
L = [-10,-9.8,-9.6, -9.4, -9.2, -9.0, -8.8, -8.6, -8.4]
我尝试使用pandas.fillna(method = ffill)
,但它给出了ValueError: DataFrame constructor not properly called!
但这似乎并不是正确的方法。
答案 0 :(得分:4)
您可以这样做:
import pandas as pd
pd.Series([-10,-9.8,-9.6, None, None, None, -8.8, -8.6, -8.4]).interpolate()
产量:
0 -10.0
1 -9.8
2 -9.6
3 -9.4
4 -9.2
5 -9.0
6 -8.8
7 -8.6
8 -8.4
dtype: float64
返回列表:
pd.Series([-10,-9.8,-9.6, None, None, None, -8.8, -8.6, -8.4]).interpolate().tolist()