【问题标题】:Exponentially decaying interpolation指数衰减插值
【发布时间】:2019-06-06 07:49:05
【问题描述】:

我不确定我是否在标题中使用了正确的技术词汇。我想要的是如下所示。

我有以下代码

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

也就是说,我希望更近的值比远的值变化更大。 pandas 中是否有可用的插值方法可以做到这一点?

【问题讨论】:

    标签: pandas scipy interpolation


    【解决方案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)
    

    你可以利用这些力量来获得与你需要的东西相匹配的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-14
      • 1970-01-01
      • 2020-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多