【问题标题】:Error when trying to apply box-cox transformation to a column in Pandas尝试将 box-cox 转换应用于 Pandas 中的列时出错
【发布时间】:2020-09-22 04:11:57
【问题描述】:

这应该是非常基础的,但是这里似乎没有关于它的帖子(好吧,我没有找到)。

我尝试将 box-cox 转换应用于 Pandas 中的列,但出现此错误:

ValueError: Length of values does not match length of index

这就是我所做的:

from scipy import stats 
df['boxcox_col_1'] = stats.boxcox(df['col_1'])

这不应该工作吗?

这只是一个常规的 pandas 列,其中包含从 0.005 到 39 的数值变量,并且没有缺失值。

【问题讨论】:

    标签: python pandas scipy scipy.stats


    【解决方案1】:

    代码应该是:

    df['boxcox_col_1'] = stats.boxcox(df['col_1'])[0]
    

    当它返回时,多了一个参数。这会导致你的错误。 Refer

    【讨论】:

      【解决方案2】:

      试试这个:

      a, b = stats.boxcox(df['col_1'])
      df['boxcox_col_1'] = a
      

      在此处阅读文档:BoxCox

      【讨论】:

        猜你喜欢
        • 2019-12-25
        • 2022-01-06
        • 2021-02-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-13
        • 2013-06-02
        相关资源
        最近更新 更多