Экспоненциально затухающая интерполяция - PullRequest
1 голос
/ 05 июня 2019

Я не уверен, использовал ли я правильные технические слова в названии. Я хочу что-то вроде следующего.

У меня есть следующий код

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 Ответ

1 голос
/ 06 июня 2019

Вам необходимо применить некоторые преобразования к данным.Попробуйте это:

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)

Вы можете играть с силами, чтобы получить что-то, что вам нужно.

...