【问题标题】:ValueError: No axis named 1 for object type <class 'pandas.core.series.Series'>ValueError:对象类型 <class 'pandas.core.series.Series'> 没有名为 1 的轴
【发布时间】:2017-09-02 08:34:30
【问题描述】:

我是编程新手。我正在尝试使用 scipy 最小化,遇到了几个问题并解决了大部分问题。

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

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

【问题讨论】:

    标签: python numpy scipy minimize


    【解决方案1】:

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

    Pandas 想要在 DataFrame 上运行该功能。

    【讨论】:

      【解决方案2】:

      OP 没有提供足够的信息,但基本上是在代码中的某个地方,它指定由数据框列 (axis=1) 对 Pandas 系列对象进行操作。如果代码通常有效但偶尔会出错,请检查数据框可能只有 1 行的退化情况。 Pandas 有一个猜测你想要什么的坏习惯——它可能会决定将 1 行数据框减少为一个系列(例如,apply() 函数;你可以在其中使用 reduce=False 禁用它)。

      添加一行代码来检查对象是isinstance(df, pd.DataFrame),或者将有问题的熊猫系列转换为数据框,例如s.to_frame().T,用于我必须处理的问题。

      【讨论】:

        猜你喜欢
        • 2020-06-16
        • 1970-01-01
        • 2020-10-03
        • 2019-05-08
        • 1970-01-01
        • 2023-03-12
        • 1970-01-01
        • 2016-11-18
        • 1970-01-01
        相关资源
        最近更新 更多