R을 사용할 때 다음을 사용하여 "연습"데이터 세트를로드하는 것이 편리합니다.
data(iris)
또는
data(mtcars)
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
않지만 샘플 데이터 세트에 계속 액세스 하려면 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 데이터 세트 저장소pd.read_csv()
에서 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
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는 또한 데이터 세트 버전 관리를 지원하고 각 데이터 세트에 대한 간단한 설명 을 포함합니다 .
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
rcom.load_data('iris')
?
공개적으로 사용 가능한 모든 .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은 입력 한 경우에만 작동하고 복사하여 붙여 넣은 경우에는 작동하지 않습니다.
iris.names