码迷,mamicode.com
首页 > 其他好文 > 详细

解决:Input array must be 1 dimensional

时间:2020-10-12 20:38:53      阅读:49      评论:0      收藏:0      [点我收藏+]

标签:数组   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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!