大Pandas样本数据集

2024-06-25 23:08:27 发布

您现在位置:Python中文网/ 问答频道 /正文

当使用R时,使用

data(iris)

或者

data(mtcars)

熊猫也有类似的东西吗?我知道我可以用其他方法加载,只是好奇是否有内置的


Tags: 方法irisdata内置mtcars
3条回答

自从我最初编写这个答案以来,我已经用许多方法更新了它,这些方法现在可用于访问Python中的示例数据集。就我个人而言,无论我是什么样的人 已经在使用(通常是海生或熊猫)。如果需要脱机访问, 用被子安装数据集似乎是唯一的选择。

海伯恩

出色的绘图包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,则可以对seaborn示例使用@andrewwowens方法 数据:

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

注意,包含分类列的示例数据集有它们的column type modified by ^{},结果可能不相同 直接从url获取。iris和tips示例数据集也包括 在pandas github repohere中提供。

R样本数据集

由于任何数据集都可以通过pd.read_csv()读取,因此可以访问所有 通过从this R data set repository复制url来复制R的示例数据集。

加载R示例数据集的其他方法包括 ^{}

import statsmodels.api as sm

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

^{}

from pydataset import data

iris = data('iris')

scikit学习

scikit-learn将样本数据作为numpy数组而不是pandas数据返回 框架。

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显示了如何安装 并导入iris数据集:

# 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

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

^{}模块是为此而创建的:

from rpy2.robjects import r, pandas2ri
pandas2ri.activate()

r['iris'].head()

收益率

   Sepal.Length  Sepal.Width  Petal.Length  Petal.Width Species
1           5.1          3.5           1.4          0.2  setosa
2           4.9          3.0           1.4          0.2  setosa
3           4.7          3.2           1.3          0.2  setosa
4           4.6          3.1           1.5          0.2  setosa
5           5.0          3.6           1.4          0.2  setosa

最多0.19个pandas,您可以使用pandas自己的^{}接口:

import pandas.rpy.common as rcom
iris = rcom.load_data('iris')
print(iris.head())

收益率

   Sepal.Length  Sepal.Width  Petal.Length  Petal.Width Species
1           5.1          3.5           1.4          0.2  setosa
2           4.9          3.0           1.4          0.2  setosa
3           4.7          3.2           1.3          0.2  setosa
4           4.6          3.1           1.5          0.2  setosa
5           5.0          3.6           1.4          0.2  setosa

rpy2还提供了一种方法to convert ^{} objects into Python objects

import pandas as pd
import rpy2.robjects as ro
import rpy2.robjects.conversion as conversion
from rpy2.robjects import pandas2ri
pandas2ri.activate()

R = ro.r

df = conversion.ri2py(R['mtcars'])
print(df.head())

收益率

    mpg  cyl  disp   hp  drat     wt   qsec  vs  am  gear  carb
0  21.0    6   160  110  3.90  2.620  16.46   0   1     4     4
1  21.0    6   160  110  3.90  2.875  17.02   0   1     4     4
2  22.8    4   108   93  3.85  2.320  18.61   1   1     4     1
3  21.4    6   258  110  3.08  3.215  19.44   1   0     3     1
4  18.7    8   360  175  3.15  3.440  17.02   0   0     3     2

任何公开可用的.csv文件都可以使用其URL快速加载到pandas中。下面是一个使用存储在UCI存档中的iris数据集的示例。

import pandas as pd

file_name = "https://raw.githubusercontent.com/uiuc-cse/data-fa14/gh-pages/data/iris.csv"
df = pd.read_csv(file_name)
df.head()

这里的输出是刚从给定URL加载的.csv文件头。

>>> df.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

相关问题 更多 >