是否有Python的示例数据集?

时间:2013-05-16 05:11:49

标签: python dataset

为了快速测试,调试,创建可移植示例和基准测试,R可以使用大量数据集(在Base R datasets包中)。 R提示符下的命令library(help="datasets")描述了近100个历史数据集,每个数据集都有相关的描述和元数据。

Python有这样的东西吗?

6 个答案:

答案 0 :(得分:36)

您可以使用rpy2包来访问Python中的所有R数据集。

设置界面:

>>> from rpy2.robjects import r, pandas2ri
>>> def data(name): 
...    return pandas2ri.ri2py(r[name])

然后使用任何数据集的可用数据集名称调用data()(就像在R中一样)

>>> df = data('iris')
>>> df.describe()
       Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
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

要查看可用数据集的列表,其中包含每个数据集的描述:

>>> print(r.data())


注意:rpy2需要安装R并设置R_HOME变量,并且还必须安装pandas

更新:

我刚刚创建了PyDataset,这是一个简单的模块,可以让我从Python加载数据集就像R一样简单(并且它不需要安装R,只有{{} 1}})。

要开始使用它,请安装模块:

pandas

然后只需加载您想要的任何数据集(目前大约有757个可用数据集):


$ pip install pydataset

答案 1 :(得分:14)

还有Scikit-Learn库提供的数据集。

from sklearn import datasets

此包中有多个数据集。一些玩具数据集是:

load_boston()          Load and return the boston house-prices dataset (regression).
load_iris()            Load and return the iris dataset (classification).
load_diabetes()        Load and return the diabetes dataset (regression).
load_digits([n_class]) Load and return the digits dataset (classification).
load_linnerud()        Load and return the linnerud dataset (multivariate regression).

答案 2 :(得分:6)

我最初将其发布在相关问题Sample Datasets in Pandas上,但是由于它与大熊猫无关,因此我也将其包括在这里。

现在有许多方法可用于访问Python中的示例数据集。就我个人而言,我倾向于坚持我的任何包装 已经使用过(通常是seaborn或pandas)。如果您需要离线访问, 用Quilt安装数据集似乎是唯一的选择。

Seaborn

出色的绘图软件包seaborn具有几个内置的样本数据集。

import seaborn as sns

iris = sns.load_dataset('iris')
iris.head()
   sepal_length  sepal_width  petal_length  petal_width species
0           5.1          3.5           1.4          0.2  setosa
1           4.9          3.0           1.4          0.2  setosa
2           4.7          3.2           1.3          0.2  setosa
3           4.6          3.1           1.5          0.2  setosa
4           5.0          3.6           1.4          0.2  setosa

熊猫

如果您不想导入seaborn,但仍想访问its sample data sets,则可以从其URL中读取原始样本数据:

iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')

请注意,包含类别列的样本数据集具有其column type modified by sns.load_dataset(),结果可能不同 直接从网址获取。虹膜和笔尖样本数据集也 在pandas github repo here中可用。

R个样本数据集

由于可以通过pd.read_csv()读取任何数据集,因此可以访问所有 通过复制this R data set repository中的URL,R的样本数据集。

加载R个样本数据集的其他方式包括 statsmodel

import statsmodels.api as sm

iris = sm.datasets.get_rdataset('iris').data

PyDataset

from pydataset import data

iris = data('iris')

scikit学习

scikit-learn将示例数据作为numpy数组而不是熊猫数据返回 框架。

from sklearn.datasets import load_iris

iris = load_iris()
# `iris.data` holds the numerical values
# `iris.feature_names` holds the numerical column names
# `iris.target` holds the categorical (species) values (as ints)
# `iris.target_names` holds the unique categorical names

安静

Quilt是一个数据集管理器,旨在帮助 数据集管理。它包括许多常见的样本数据集,例如 several中的uciml sample repositoryquick start page显示了如何安装 并导入虹膜数据集:

# In your terminal
$ pip install quilt
$ quilt install uciml/iris

安装数据集后,可以在本地访问它,因此,如果要脱机使用数据,这是最佳选择。

import quilt.data.uciml.iris as ir

iris = ir.tables.iris()
   sepal_length  sepal_width  petal_length  petal_width        class
0           5.1          3.5           1.4          0.2  Iris-setosa
1           4.9          3.0           1.4          0.2  Iris-setosa
2           4.7          3.2           1.3          0.2  Iris-setosa
3           4.6          3.1           1.5          0.2  Iris-setosa
4           5.0          3.6           1.4          0.2  Iris-setosa

Quilt还支持数据集版本控制,并包括每个数据集的short description

答案 3 :(得分:4)

根据Joran的评论,我发现了statsmodels模块,它提供了自己的datasets包。 online documentation显示了如何导入R中可用数据集的示例:

import statsmodels.api as sm
duncan_prestige = sm.datasets.get_rdataset("Duncan", "car")
print duncan_prestige.__doc__

答案 4 :(得分:1)

MyMVPA是另一个可以轻松访问数据库的模块。您可以查看以下链接。

>>> from mvpa2.tutorial_suite import *
>>> data = [[  1,  1, -1],
...         [  2,  0,  0],
...         [  3,  1,  1],
...         [  4,  0, -1]]
>>> ds = Dataset(data)
>>> ds.shape
(4, 3)
>>> len(ds)
4

链接示例

http://www.pymvpa.org/tutorial_datasets.html

答案 5 :(得分:0)

具体来说,使用@tmthydvnprt示例:

from sklearn import datasets
iris = datasets.load_iris()

可以通过执行iris.data来调用实际数据集。

http://scikit-learn.org/stable/datasets/

运行Python 3.5