为了快速测试,调试,创建可移植示例和基准测试,R可以使用大量数据集(在Base R datasets
包中)。 R提示符下的命令library(help="datasets")
描述了近100个历史数据集,每个数据集都有相关的描述和元数据。
Python有这样的东西吗?
答案 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
具有几个内置的样本数据集。
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中可用。
由于可以通过pd.read_csv()
读取任何数据集,因此可以访问所有
通过复制this R data set
repository中的URL,R的样本数据集。
加载R个样本数据集的其他方式包括
statsmodel
import statsmodels.api as sm
iris = sm.datasets.get_rdataset('iris').data
from pydataset import data
iris = data('iris')
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 repository。 quick 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
链接示例
答案 5 :(得分:0)
具体来说,使用@tmthydvnprt示例:
from sklearn import datasets
iris = datasets.load_iris()
可以通过执行iris.data
来调用实际数据集。
http://scikit-learn.org/stable/datasets/
运行Python 3.5