指数衰减插值

时间:2019-06-05 17:26:19

标签: pandas scipy interpolation

我不确定标题中是否使用了正确的技术用语。我想要的是以下内容。

我有以下代码

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

那是我希望较近的值比远的值更剧烈地变化。大熊猫中是否有插值方法可以做到?

1 个答案:

答案 0 :(得分:1)

您需要对数据进行一些转换。试试这个:

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)

您可以发挥自己的能力来获得符合您需要的东西。