1

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

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

4

2 回答 2

4

试试这个:

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

在此处阅读文档:BoxCox

于 2020-06-03T13:05:46.040 回答
2

代码应为:

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

当它返回时,还有一个参数。这会导致您的错误。参考

于 2020-06-03T13:05:37.927 回答