首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将Scikit-learn数据集转换为Pandas数据集

如何将Scikit-learn数据集转换为Pandas数据集
EN

Stack Overflow用户
提问于 2016-06-27 15:28:14
回答 23查看 139.1K关注 0票数 140

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

代码语言:javascript
复制
from sklearn.datasets import load_iris
import pandas as pd
data = load_iris()
print(type(data))
data1 = pd. # Is there a Pandas method to accomplish this?
EN

回答 23

Stack Overflow用户

回答已采纳

发布于 2016-06-29 21:26:17

您可以手动使用pd.DataFrame构造函数,给出一个数值数组(data)和一个列名列表(columns)。要将所有内容都放在一个DataFrame中,可以使用np.c_[...]将特性和目标连接到一个numpy数组中(请注意[]):

代码语言:javascript
复制
import numpy as np
import pandas as pd
from sklearn.datasets import load_iris

# save load_iris() sklearn dataset to iris
# if you'd like to check dataset type use: type(load_iris())
# if you'd like to view list of attributes use: dir(load_iris())
iris = load_iris()

# np.c_ is the numpy concatenate function
# which is used to concat iris['data'] and iris['target'] arrays 
# for pandas column argument: concat iris['feature_names'] list
# and string list (in this case one string); you can make this anything you'd like..  
# the original dataset would probably call this ['Species']
data1 = pd.DataFrame(data= np.c_[iris['data'], iris['target']],
                     columns= iris['feature_names'] + ['target'])
票数 172
EN

Stack Overflow用户

发布于 2017-04-22 06:40:42

代码语言:javascript
复制
from sklearn.datasets import load_iris
import pandas as pd

data = load_iris()
df = pd.DataFrame(data.data, columns=data.feature_names)
df.head()

这篇教程可能会很有趣:http://www.neural.cz/dataset-exploration-boston-house-pricing.html

票数 101
EN

Stack Overflow用户

发布于 2017-09-23 21:03:47

TOMDLt的解决方案对于scikit-learn中的所有数据集都不够通用。例如,它不适用于波士顿住房数据集。我提出了一个更通用的不同解决方案。也不需要使用numpy。

代码语言:javascript
复制
from sklearn import datasets
import pandas as pd

boston_data = datasets.load_boston()
df_boston = pd.DataFrame(boston_data.data,columns=boston_data.feature_names)
df_boston['target'] = pd.Series(boston_data.target)
df_boston.head()

作为一般函数:

代码语言:javascript
复制
def sklearn_to_df(sklearn_dataset):
    df = pd.DataFrame(sklearn_dataset.data, columns=sklearn_dataset.feature_names)
    df['target'] = pd.Series(sklearn_dataset.target)
    return df

df_boston = sklearn_to_df(datasets.load_boston())
票数 76
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38105539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档