gpt4 book ai didi

python - Pandas 中 DataFrame 的插值

转载 作者:IT老高 更新时间:2023-10-28 22:15:00 68 4
gpt4 key购买 nike

我有一个 DataFrame,比如说一个波动率表面,其索引为时间,列为罢工。如何进行二维插值?我可以 reindex 但我该如何处理 NaN?我知道我们可以 fillna(method='pad') 但它甚至不是线性插值。有没有办法我们可以插入我们自己的方法来进行插值?

最佳答案

您可以使用 DataFrame.interpolate 来获得线性插值。

In : df = pandas.DataFrame(numpy.random.randn(5,3), index=['a','c','d','e','g'])

In : df
Out:
0 1 2
a -1.987879 -2.028572 0.024493
c 2.092605 -1.429537 0.204811
d 0.767215 1.077814 0.565666
e -1.027733 1.330702 -0.490780
g -1.632493 0.938456 0.492695

In : df2 = df.reindex(['a','b','c','d','e','f','g'])

In : df2
Out:
0 1 2
a -1.987879 -2.028572 0.024493
b NaN NaN NaN
c 2.092605 -1.429537 0.204811
d 0.767215 1.077814 0.565666
e -1.027733 1.330702 -0.490780
f NaN NaN NaN
g -1.632493 0.938456 0.492695

In : df2.interpolate()
Out:
0 1 2
a -1.987879 -2.028572 0.024493
b 0.052363 -1.729055 0.114652
c 2.092605 -1.429537 0.204811
d 0.767215 1.077814 0.565666
e -1.027733 1.330702 -0.490780
f -1.330113 1.134579 0.000958
g -1.632493 0.938456 0.492695

对于更复杂的事情,您需要推出自己的函数来处理 Series 对象并根据需要填充 NaN 值并返回另一个 系列对象。

关于python - Pandas 中 DataFrame 的插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10464738/

68 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com