ValueError:传递值的形状为 (569, 30),索引暗示 (569, 31)
Posted
技术标签:
【中文标题】ValueError:传递值的形状为 (569, 30),索引暗示 (569, 31)【英文标题】:ValueError: Shape of passed values is (569, 30), indices imply (569, 31) 【发布时间】:2020-01-12 19:55:41 【问题描述】:我正在学习 pandas 和 scikit-learn 的基础知识,但在做练习时遇到了疑问。它给了我一个错误。代码应该返回一个 (569, 31) DataFrame,但它给了我以下错误:
ValueError: 传递的项目数错误 30,位置意味着 31
ValueError: 传递值的形状是 (569, 30),索引意味着 (569, 31)
我的代码如下:
data = pd.DataFrame(cancer.data, columns= np.append(cancer['feature_names'], ['target']))
print(data.describe())
cancer.data 有 30 列,我想附加 ['target'] 列,因此我可以将 cancer 数据集转换为具有 31 列而不是 30 列的数据框。
【问题讨论】:
表示列数大于数据的宽度 你能举一个数据的例子吗? 【参考方案1】:声明一个要转换成列的列表,例如target=[1,2,3,...] 然后使用cancer.data['target'] = target
【讨论】:
以上是关于ValueError:传递值的形状为 (569, 30),索引暗示 (569, 31)的主要内容,如果未能解决你的问题,请参考以下文章
Pandas:ValueError:传递值的形状是(110、10),索引暗示(111、10)
Pandas concat:ValueError:传递值的形状是blah,索引暗示blah2
Pandas Dataframe ValueError:传递值的形状是(X,),索引暗示(X,Y)