3

我试图将 iris 数据集导入 daraframe,但它显示以下错误。我检查了 scikit-learn 文档,其中有用于 load_iris() 的 as_frame 命名参数。

我的代码:

from sklearn.datasets import load_iris
df = load_iris(as_frame=True)

错误:

TypeError                                 Traceback (most recent call last)
<ipython-input-7-1f51689afac6> in <module>
      1 from sklearn.datasets import load_iris
----> 2 df = load_iris(as_frame=True)
      3 df

TypeError: load_iris() got an unexpected keyword argument 'as_frame'
4

3 回答 3

5

这可能是一个不错的选择:

from sklearn.datasets import load_iris
import pandas as pd

data = load_iris()
df = pd.DataFrame(data.data, columns=data.feature_names)
df.head()
于 2020-07-25T23:34:10.247 回答
3

您使用的是旧版本的 sklearn,这就是您收到错误的原因。要解决此问题,只需安装 sklearn >= 0.23 的版本

例如:

pip install scikit-learn==0.23

Sklearn 文档:

as_framebool, default=False 如果为 True,则数据是 pandas DataFrame,包括具有适当 dtypes(数字)的列。目标是 pandas DataFrame 或 Series,具体取决于目标列的数量。如果 return_X_y 为 True,则 (data, target) 将是 pandas DataFrames 或 Series,如下所述。

0.23 版中的新功能。

于 2021-03-02T20:19:31.663 回答
1

或者如果您也想显示目标:

from sklearn.datasets import load_iris
import pandas as pd

pd.set_option("max_columns", None)
pd.set_option("max_rows", None)

data = load_iris()
df = pd.DataFrame(data.data, columns=data.feature_names)
df.insert(4, "target", data.target, allow_duplicates=False)
df

pd.set_option() 用于将列和行作为一个整体显示

于 2021-09-19T09:13:22.273 回答