Pandas의 샘플 데이터 세트


88

R을 사용할 때 다음을 사용하여 "연습"데이터 세트를로드하는 것이 편리합니다.

data(iris)

또는

data(mtcars)

Pandas와 비슷한 것이 있습니까? 다른 방법을 사용하여로드 할 수 있다는 것을 알고 있습니다. 내장 된 것이 있는지 궁금합니다.


답변:


103

이 답변을 처음 작성했기 때문에 현재 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않지만 샘플 데이터 세트에 계속 액세스 하려면 seaborn 샘플 데이터에 대해 @andrewwowens의 접근 방식을 사용할 수 있습니다.

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

범주 형 열을 포함하는 샘플 데이터 세트에는에서 수정 된 열 유형sns.load_dataset() 이 있으며 URL에서 직접 가져 오면 결과가 동일하지 않을 수 있습니다. iris 및 tips 샘플 데이터 세트는 여기 pandas github 저장소에서도 사용할 수 있습니다 .

R 샘플 데이터 세트

를 통해 모든 데이터 세트를 읽을 수 있으므로이 R 데이터 세트 저장소pd.read_csv() 에서 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-learn

scikit-learn pandas 데이터 프레임이 아닌 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 는 데이터 세트 관리를 용이하게하기 위해 생성 된 데이터 세트 관리자입니다. 그것은 같은 많은 일반적인 샘플 데이터 세트를 포함 몇 가지를 로부터 uciml 샘플 저장소를 . 빠른 시작 페이지 설치 및 홍채 데이터 세트를 가져 오는 방법을 보여줍니다

# 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는 또한 데이터 세트 버전 관리를 지원하고 각 데이터 세트에 대한 간단한 설명 을 포함합니다 .


9
대답이 '아니요'가 아니어야한다면 pandas로로드 할 수있는 편리한 "연습"데이터 세트가 없습니다.
Giacomo

15

rpy2모듈이 위해 만들어 :

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

pandas 0.19까지 pandas의 자체 rpy인터페이스를 사용할 수 있습니다 .

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또한 객체를 Python 객체 로 변환R 하는 방법 제공 합니다 .

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

1
제안 해 주셔서 감사합니다. 나는 이것을하고 있었지만 R에서 데이터를 사용할 수 있다는 "편안함"을 위반한다. 그래도 그것을 달성하는 솔루션이다!
canyon289

3
흠? 뭐가 그렇게 힘들어요 rcom.load_data('iris')?
unutbu

아무것도 아닌 것 같지만, 내가 너무 까다로울 수 있다는 것을 알고 있습니다. 답변 감사합니다!
canyon289

1
참고 pandas.rpy0.20에서 제거 . R과 인터페이스하려면 rpy2권장되는 옵션입니다.
joelostblom

13

공개적으로 사용 가능한 모든 .csv 파일은 URL을 사용하여 pandas에 매우 빠르게로드 할 수 있습니다. 다음은 원래 UCI 아카이브에서 가져온 홍채 데이터 세트를 사용한 예입니다.

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

기억에 남는 짧은 URL은 https://j​.mp/iriscsv입니다. 이 짧은 URL은 입력 한 경우에만 작동하고 복사하여 붙여 넣은 경우에는 작동하지 않습니다.


웹 사이트가 다운되지 않았습니다. 설명은 archive.ics.uci.edu/ml/datasets/Iris 에서 확인 하거나 다운로드하십시오iris.names
zhazha
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.