我在 Pandas 列中有列表。
我想使用 lambda 函数对该列执行操作。
它显示一个错误,我不明白为什么。
感谢任何帮助。
import pandas as pd
from scipy import stats
df=pd.DataFrame({'indx':[1,2], 'vals':[[822.0, 855.0, 837.0],[692.0, 758.0, 818.0]]})
#Works
stats.linregress([1,2,3], [1,2,3])
#Works
df.apply(lambda x: stats.linregress([1,2,3], [1,2,3]))
#Works
df.apply(lambda x: stats.linregress([1,2,3], [822.0, 855.0, 837.0]))
#Fails
df.apply(lambda x: stats.linregress([1,2,3], np.array(x).astype(np.float)))
#Harder example
df2=pd.DataFrame({'indx':[1,2], 'vals':[[822.0, 855.0],[692.0, 758.0, 818.0, 855.0, 837.0]]})
df2.apply(lambda x: stats.linregress([i for i in range(1,len(x)+1)], np.array(x).astype(np.float)))
慕码人8056858
相关分类