【问题标题】:Describe scikit learn iris database描述 scikit learn iris 数据库
【发布时间】:2021-11-05 13:09:59
【问题描述】:

我想描述一下鸢尾花数据集:

import pandas as pd
from sklearn import datasets

iris = datasets.load_iris()
iris = pd.DataFrame(iris)

iris.describe()

但是 Python 返回了以下错误代码:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-10-f1e3a89d050a> in <module>
      4 
      5 iris = datasets.load_iris()
----> 6 iris = pd.DataFrame(iris)
      7 
      8 

~\anaconda3\lib\site-packages\pandas\core\frame.py in __init__(self, data, index, columns, dtype, copy)
    466 
    467         elif isinstance(data, dict):
--> 468             mgr = init_dict(data, index, columns, dtype=dtype)
    469         elif isinstance(data, ma.MaskedArray):
    470             import numpy.ma.mrecords as mrecords

~\anaconda3\lib\site-packages\pandas\core\internals\construction.py in init_dict(data, index, columns, dtype)
    281             arr if not is_datetime64tz_dtype(arr) else arr.copy() for arr in arrays
    282         ]
--> 283     return arrays_to_mgr(arrays, data_names, index, columns, dtype=dtype)
    284 
    285 

~\anaconda3\lib\site-packages\pandas\core\internals\construction.py in arrays_to_mgr(arrays, arr_names, index, columns, dtype, verify_integrity)
     76         # figure out the index, if necessary
     77         if index is None:
---> 78             index = extract_index(arrays)
     79         else:
     80             index = ensure_index(index)

~\anaconda3\lib\site-packages\pandas\core\internals\construction.py in extract_index(data)
    395             lengths = list(set(raw_lengths))
    396             if len(lengths) > 1:
--> 397                 raise ValueError("arrays must all be same length")
    398 
    399             if have_dicts:

ValueError: arrays must all be same length

为什么 python 不允许我描述 iris 数据集?

【问题讨论】:

    标签: python python-3.x pandas scikit-learn


    【解决方案1】:

    irisBunch(类似 dict),而 .describe 仅适用于 pandas 数据帧;试试:

    iris = datasets.load_iris()
    df_iris = pd.DataFrame(iris['data'], columns=iris['feature_names'])
    
    df_iris.describe()
    

    输出:

           sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)
    count         150.000000        150.000000         150.000000        150.000000
    mean            5.843333          3.057333           3.758000          1.199333
    std             0.828066          0.435866           1.765298          0.762238
    min             4.300000          2.000000           1.000000          0.100000
    25%             5.100000          2.800000           1.600000          0.300000
    50%             5.800000          3.000000           4.350000          1.300000
    75%             6.400000          3.300000           5.100000          1.800000
    max             7.900000          4.400000           6.900000          2.500000
    

    也可以试试iris.keys()

    【讨论】:

      猜你喜欢
      • 2021-11-22
      • 2016-05-30
      • 2012-10-16
      • 2020-03-13
      • 2015-04-14
      • 2015-04-07
      • 2016-07-13
      • 2016-11-26
      • 2012-06-12
      相关资源
      最近更新 更多