ValueError:对象类型<class'pandas.core.series.series'=“”>没有名为1的轴

时间:2017-04-07 04:59:12

标签: python numpy scipy minimize

我是编程新手。我试图使用scipy最小化,有几个问题,并通过他们中的大多数。

现在这是代码,但我不明白为什么我会收到此错误。

par_opt = so.minimize(fun=fun_obj, x0=par_ini, method='Nelder-Mead', args=[series_pt_cal, dt, series_caudal_cal])

2 个答案:

答案 0 :(得分:5)

OP没有提供足够的信息,但基本上在代码的某处,它被指定为在Pandas系列对象上的数据框列(轴= 1)操作。如果代码通常有效,但偶尔会出错,请检查数据帧可能只有1行的退化情况。熊猫有一种讨厌你想要的习惯 - 它可能决定将1行数据帧减少到一个系列(例如apply()函数;你可以在那里使用reduce=False禁用它)。

添加一行代码来检查对象是isinstance(df, pd.DataFrame),还是将有问题的pandas Series转换为数据框,类似s.to_frame().T来解决我必须处理的问题。

答案 1 :(得分:0)

pd.DataFrame(df)函数之前使用so.minimize

Pandas希望在DataFrame上运行该功能。