使用R时,使用它可以方便地加载"练习"数据集
data(iris)
Run Code Online (Sandbox Code Playgroud)
要么
data(mtcars)
Run Code Online (Sandbox Code Playgroud)
熊猫有类似的东西吗?我知道我可以使用任何其他方法加载,只是好奇是否内置任何东西
joe*_*lom 68
自从我最初编写这个答案以来,我已经用现在可用于访问Python中的示例数据集的许多方法更新了它.就个人而言,我倾向于坚持使用我已经使用的任何包(通常是seaborn或pandas).如果您需要离线访问,则使用Quilt安装数据集似乎是唯一的选择.
精彩的绘图包seaborn有几个内置的样本数据集.
import seaborn as sns
iris = sns.load_dataset('iris')
iris.head()
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
如果您不想导入seaborn,但仍想访问其样本数据集,则可以使用@ andrewwowens的方法获取seaborn样本数据:
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
Run Code Online (Sandbox Code Playgroud)
请注意,包含分类列的示例数据集的列类型已修改,sns.load_dataset()结果可能不同,方法是直接从URL中获取.虹膜和提示样本数据集也可以在pandas github repo中找到.
由于可以通过任何数据集读取pd.read_csv(),因此可以通过从此R数据集存储库复制URL来访问所有R的示例数据集.
加载R样本数据集的其他方法包括
statsmodel
import statsmodels.api as sm
iris = sm.datasets.get_rdataset('iris').data
Run Code Online (Sandbox Code Playgroud)
from pydataset import data
iris = data('iris')
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
Quilt是一个数据集管理器,用于促进数据集管理.它包括许多常见的样本数据集,例如来自uciml样本库的多个样本数据集 .在快速启动页面演示了如何安装并导入虹膜数据集:
# In your terminal
$ pip install quilt
$ quilt install uciml/iris
Run Code Online (Sandbox Code Playgroud)
安装数据集后,可以在本地访问它,因此如果您希望脱机处理数据,这是最佳选择.
import quilt.data.uciml.iris as ir
iris = ir.tables.iris()
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
Quilt还支持数据集版本控制,并包含每个数据集的简短描述.
unu*_*tbu 14
该rpy2模块是为此而制作的:
from rpy2.robjects import r, pandas2ri
pandas2ri.activate()
r['iris'].head()
Run Code Online (Sandbox Code Playgroud)
产量
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
Run Code Online (Sandbox Code Playgroud)
最多pandas 0.19你可以使用pandas自己的rpy界面:
import pandas.rpy.common as rcom
iris = rcom.load_data('iris')
print(iris.head())
Run Code Online (Sandbox Code Playgroud)
产量
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
Run Code Online (Sandbox Code Playgroud)
rpy2还提供了一种将R对象转换为Python对象的方法:
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())
Run Code Online (Sandbox Code Playgroud)
产量
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
Run Code Online (Sandbox Code Playgroud)
and*_*ens 11
任何公开可用的.csv文件都可以使用其URL非常快速地加载到pandas中.以下是使用存储在UCI存档中的虹膜数据集的示例.
import pandas as pd
file_name = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data"
df = pd.read_csv(file_name)
df.head()
Run Code Online (Sandbox Code Playgroud)
这里的输出是您刚刚从给定URL加载的.csv文件头.
>>> df.head()
5.1 3.5 1.4 0.2 Iris-setosa
0 4.9 3.0 1.4 0.2 Iris-setosa
1 4.7 3.2 1.3 0.2 Iris-setosa
2 4.6 3.1 1.5 0.2 Iris-setosa
3 5.0 3.6 1.4 0.2 Iris-setosa
4 5.4 3.9 1.7 0.4 Iris-setosa
Run Code Online (Sandbox Code Playgroud)
小智 11
内置的pandas测试DataFrame非常方便。
makeMixedDataFrame():
In [22]: import pandas as pd
In [23]: pd.util.testing.makeMixedDataFrame()
Out[23]:
A B C D
0 0.0 0.0 foo1 2009-01-01
1 1.0 1.0 foo2 2009-01-02
2 2.0 0.0 foo3 2009-01-05
3 3.0 1.0 foo4 2009-01-06
4 4.0 0.0 foo5 2009-01-07
Run Code Online (Sandbox Code Playgroud)
其他测试 DataFrame 选项?
makeDataFrame():
In [24]: pd.util.testing.makeDataFrame().head()
Out[24]:
A B C D
acKoIvMLwE 0.121895 -0.781388 0.416125 -0.105779
jc6UQeOO1K -0.542400 2.210908 -0.536521 -1.316355
GlzjJESv7a 0.921131 -0.927859 0.995377 0.005149
CMhwowHXdW 1.724349 0.604531 -1.453514 -0.289416
ATr2ww0ctj 0.156038 0.597015 0.977537 -1.498532
Run Code Online (Sandbox Code Playgroud)
makeMissingDataframe()?
In [27]: pd.util.testing.makeMissingDataframe().head()
Out[27]:
A B C D
qyXLpmp1Zg -1.034246 1.050093 NaN NaN
v7eFDnbQko 0.581576 1.334046 -0.576104 -0.579940
fGiibeTEjx -1.166468 -1.146750 -0.711950 -0.205822
Q8ETSRa6uY 0.461845 -2.112087 0.167380 -0.466719
7XBSChaOyL -1.159962 -1.079996 1.585406 -1.411159
Run Code Online (Sandbox Code Playgroud)
makeTimeDataFrame()?
In [28]: pd.util.testing.makeTimeDataFrame().head()
Out[28]:
A B C D
2000-01-03 -0.641226 0.912964 0.308781 0.551329
2000-01-04 0.364452 -0.722959 0.322865 0.426233
2000-01-05 1.042171 0.005285 0.156562 0.978620
2000-01-06 0.749606 -0.128987 -0.312927 0.481170
2000-01-07 0.945844 -0.854273 0.935350 1.165401
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34296 次 |
| 最近记录: |