我不确定我在标题中是否使用了正确的技术词。我想要的是如下所示的东西。
我有以下代码
import pandas as pd
import numpy as np
df = pd.DataFrame([[1, None, None, 4, None, None, None, 10]])
df = df.fillna(np.nan)
df = df.transpose().interpolate()
它进行线性插值,这给了我类似的东西
1.0 2.0 3.0 4.0 5.5 7.0 8.5 10.0
我想要的是一个指数衰减的插值。也就是说,如下所示(不是确切的值,但您明白了(。
1.0 2.5 3.0 4.0 6.5 8.0 9.2 10.0
也就是说,我希望较近的值比较远的值变化更剧烈。熊猫中是否有可以做到这一点的插值方法?
您需要对数据应用一些转换。试试这个:
df = pd.DataFrame([[1, None, None, 4, None, None, None, 10]])
df = df.fillna(np.nan)
df = 10**df
df = df.transpose().interpolate()
df = np.log10(df)
你可以玩力量来获得与你需要的东西相匹配的东西。