Я хочу интерполировать измерения, сделанные на динамических наборах частот, в фиксированный набор частот.Я использую Python 3.7 с pandas.apply и numpy.interp:
import numpy as np
import pandas as pd
df = pd.DataFrame({'m1':[2.,3.],
'm2':[4.,6.],
'm3':[2.,3.],
'shift':[1.1,1.2]})
print (df)
# m1 m2 m3 shift
# 0 2.0 4 2.0 1.1
# 1 3.0 6 3.0 1.2
freqs =np.array([10.,20.,30.])
def myfunction(x):
newfreqs = freqs*x[-1]
result = np.interp(freqs,newfreqs,x[:-1])
return result
print(df.apply(myfunction, axis=1,raw=True))
Когда я запускаю код, я получаю сообщение об ошибке:
ValueError: Shape of passed values is (3, 2), indices imply (4, 2)
Если я изменяю один из введите столбцы типа int , f.ex.
'f2':[4,6]
, затем ошибки нет, и правильный ответ возвращается.
Любая помощьоценили.