sklearn iris数据集转pandas DataFrame调用describe报错如何解决
报错原因
sklearn中datasets.load_iris()返回的是Bunch类型的类字典对象,除了样本特征、分类标签外,还包含数据集说明、特征名、标签名等长度不一致的属性。你直接将整个Bunch对象传入pd.DataFrame()构造函数时,pandas会将其识别为字典尝试按键值对转成表格,不同键对应的值长度不匹配,因此触发ValueError: arrays must all be same length报错。
解决方法
你需要明确指定用数据集的特征数组构造DataFrame,按需补充标签和列名即可,正确代码如下:
import pandas as pd from sklearn import datasets iris = datasets.load_iris() # 用特征数组构造DataFrame,指定列名为官方特征名 iris_df = pd.DataFrame(iris.data, columns=iris.feature_names) # 可选:新增target列存储分类标签 iris_df['target'] = iris.target # 输出描述统计结果 print(iris_df.describe())
运行上述代码即可正常得到iris数据集的描述统计结果。
内容的提问来源于stack exchange,提问作者claire_123
相关产品推荐
相关产品推荐

