如何将数据从 Scikit-learn Bunch 对象转换为 Pandas DataFrame?

Posted

技术标签:

【中文标题】如何将数据从 Scikit-learn Bunch 对象转换为 Pandas DataFrame?【英文标题】:How do I convert data from a Scikit-learn Bunch object to a Pandas DataFrame? 【发布时间】:2018-07-23 23:49:46 【问题描述】:

我使用以下代码将 sk learn 乳腺癌数据集转换为数据框:我没有得到输出?我是python的新手,不知道出了什么问题。

def answer_one(): 

    import numpy as np
    import pandas as pd
    from sklearn.datasets import load_breast_cancer 
    cancer = load_breast_cancer()     
    data = numpy.c_[cancer.data, cancer.target]
    columns = numpy.append(cancer.feature_names, ["target"])
    return pandas.DataFrame(data, columns=columns)

answer_one()

【问题讨论】:

【参考方案1】:

以下代码有效

def answer_one(): 
    import numpy as np
    import pandas as pd
    from sklearn.datasets import load_breast_cancer 
    cancer = load_breast_cancer()     
    data = np.c_[cancer.data, cancer.target]
    columns = np.append(cancer.feature_names, ["target"])
    return pd.DataFrame(data, columns=columns)

answer_one()

之前你的代码不起作用的原因是你在分别定义为nppd之后尝试再次调用numpypandas包。

但是,我建议在脚本的开头,在函数定义之外完成包的加载和重新定义。

【讨论】:

def answer_one(): data = numpy.c_[cancer.data,cancer.target] columns = numpy.append(cancer.feature_names, ["target"]) return pandas.DataFrame(data, columns=columns) answer_one() 我试过没有定义它们。但没有得到输出。 return 语句有什么问题吗?【参考方案2】:

使用熊猫

这里有一个很好的答案:How to convert a Scikit-learn dataset to a Pandas dataset?

bundle 对象中的键让您了解要为哪些数据创建列。

df = pd.DataFrame(cancer.data, columns=cancer.feature_names)
df['target'] = pd.Series(cancer.target)

【讨论】:

【参考方案3】:
dataframe = pd.DataFrame(data=cancer.data, columns=cancer.feature_names)
dataframe['target'] = cancer.target
return dataframe

【讨论】:

欢迎来到 Stack Overflow!纯代码答案并不是特别有用。请简要说明此代码如何解决问题。【参考方案4】:

从 scikit-learn 0.23 开始,您可以执行以下操作来获取 DataFrame 并保存一些击键:

df = load_breast_cancer(as_frame=True)
df.frame

【讨论】:

由于某种原因在 Google Colab 中不适合我。 Colab 有 0.22,但我使用 pip 升级到 0.24(version 显示更新的版本),仍然使用 as_frame=True)仍然返回一堆:-/

以上是关于如何将数据从 Scikit-learn Bunch 对象转换为 Pandas DataFrame?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 scikit-learn 玩具数据集中预测数据

Bunch 转换为 HDF5 文件:高效存储 Cifar 等数据集

python中bunch内容填什么

如何将模型 (GLM) 从 h2o 移植到 scikit-learn?

如何将功能管道从 scikit-learn V0.21 移植到 V0.24

如何将 csv 数据文件导入 scikit-learn?