标签:数组 nbsp 成功 value load cut inf dimens pre
今天做等频离散化实验时出现错误吗,代码如下:
col20 =df.loc[:,[‘col20‘]] #提取特征col20的数据 col20 col20_ = pd.qcut(col20,5) #对其进行等频离散化 col20_
报错信息:
Input array must be 1 dimensional
解决方法:
报错含义是数组必须是一维的,我们发现提取出的col20数据是一个二维的
这时我们就需要将数据维度转换至一维,使用flatten()函数即可完成
修改之后的代码
col20 =df.loc[:,[‘col20‘]] col20 = col20.values.flatten() print(col20.ndim) col20_ = pd.qcut(col20,5) col20_
运行结果就成功了
还有一种办法就是使用for循环,代码如下
col20 =df.loc[:,[‘col20‘]] col20 for i in col20.columns: x = pd.qcut(col20[i],5) print(x)
这种方法也是可行的,以上就是解决的方法。
解决:Input array must be 1 dimensional
标签:数组 nbsp 成功 value load cut inf dimens pre
原文地址:https://www.cnblogs.com/huanhuanyo/p/13804059.html