熊猫适用于 numpy interp,尺寸问题

我想将在一组动态频率下进行的测量插入到一组固定频率中。我将 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-type,则 f.ex.


'f2':[4,6]

然后没有错误并返回正确答案。


任何帮助表示赞赏。


守着一只汪
浏览 151回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python