您可以
Dataframe.interpolate用来获取线性插值。
In : df = pandas.Dataframe(numpy.random.randn(5,3), index=['a','c','d','e','g'])In : dfOut: 0 1 2a -1.987879 -2.028572 0.024493c 2.092605 -1.429537 0.204811d 0.767215 1.077814 0.565666e -1.027733 1.330702 -0.490780g -1.632493 0.938456 0.492695In : df2 = df.reindex(['a','b','c','d','e','f','g'])In : df2Out: 0 1 2a -1.987879 -2.028572 0.024493b NaN NaN NaNc 2.092605 -1.429537 0.204811d 0.767215 1.077814 0.565666e -1.027733 1.330702 -0.490780f NaN NaN NaNg -1.632493 0.938456 0.492695In : df2.interpolate()Out: 0 1 2a -1.987879 -2.028572 0.024493b 0.052363 -1.729055 0.114652c 2.092605 -1.429537 0.204811d 0.767215 1.077814 0.565666e -1.027733 1.330702 -0.490780f -1.330113 1.134579 0.000958g -1.632493 0.938456 0.492695
对于更复杂的事情,您需要推出自己的函数来处理一个
Series对象并根据需要填充
NaN值并返回另一个
Series对象。



