尝试将 box-cox 转换应用于 Pandas 中的列时出错

Error when trying to apply box-cox transformation to a column in Pandas

这应该是很基础的,但是这里好像没有post(好吧,我没找到)。

我尝试将 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 的数值变量,并且没有缺失值。

代码应为:

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

因为它 returns ,多一个参数。这会导致你的错误。 Refer

试试这个:

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

在此处阅读文档:BoxCox