source

Panda의 샘플 데이터 세트

nicesource 2023. 7. 28. 22:11
반응형

Panda의 샘플 데이터 세트

R을 사용할 때는 다음을 사용하여 데이터 세트를 "연습"할 수 있습니다.

data(iris)

또는

data(mtcars)

판다에게도 비슷한 것이 있나요?다른 방법으로 로드할 수 있다는 것을 알고 있습니다. 내장된 것이 있는지 궁금합니다.

처음 이 답변을 작성한 이후로 현재 파이썬에서 샘플 데이터 세트에 액세스할 수 있는 다양한 방법으로 업데이트했습니다.개인적으로, 저는 제가 이미 사용하고 있는 패키지(보통 바다에서 태어나거나 팬더)를 고수하는 경향이 있습니다.오프라인 액세스가 필요한 경우 퀼트로 데이터 세트를 설치하는 것이 유일한 옵션인 것 같습니다.

시본

훌륭한 음모 패키지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 샘플 데이터에 대해 @tftwowens의 접근 방식을 사용할 수 있습니다.

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

범주형 열을 포함하는 샘플 데이터 세트의 열 유형은 에 의해 수정되며 URL에서 직접 가져와야 결과가 동일하지 않을 수 있습니다.홍채 및 팁 샘플 데이터 세트는 여기에 있는 Pandas github repo에서도 사용할 수 있습니다.

R 표본 데이터 세트

모든 데이터 세트는 다음을 통해 읽을 수 있기 때문입니다.pd.read_csv() R 데이터 세트 저장소에서 URL을 복사하여 모든 R의 샘플 데이터 세트에 액세스할 수 있습니다.

R 샘플 데이터 세트를 로드하는 추가 방법은 다음과 같습니다.

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는 데이터셋 관리를 용이하게 하기 위해 만들어진 데이터셋 관리자입니다.여기에는 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

또한 퀼트는 데이터 세트 버전 관리를 지원하며 각 데이터 세트에 대한 간단한 설명을 포함합니다.

내장된 팬더가 데이터 프레임을 테스트하는 것은 매우 편리합니다.

혼합 데이터 프레임 만들기():

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

기타 테스트 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

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

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

공개적으로 사용 가능한 .csv 파일은 URL을 사용하여 판다에 매우 빠르게 로드할 수 있습니다. 다음은 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

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

이 모듈은 다음을 위해 제작되었습니다.

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까지 판다의 인터페이스를 사용할 수 있습니다.

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 개체로 변환하는 방법을 제공합니다.

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

는 이 Github repo에서 공개 데이터 세트를 사용할 수 있도록 했습니다.다음을 통해 로드할 수 있습니다.pd.read_csv(url_to_file.csv)

홍채의

iris = pd.read_csv("https://raw.githubusercontent.com/practiceprobs/datasets/main/iris/iris.csv")
iris.head()
   sepal_length  sepal_width  petal_length  petal_width      species
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

니스트의

mnist = pd.read_csv("https://raw.githubusercontent.com/practiceprobs/datasets/main/MNIST/mnist.csv")
mnist.head()
   label  1x1  1x2  1x3  1x4  1x5  ...  28x23  28x24  28x25  28x26  28x27  28x28
0      7    0    0    0    0    0  ...      0      0      0      0      0      0
1      2    0    0    0    0    0  ...      0      0      0      0      0      0
2      1    0    0    0    0    0  ...      0      0      0      0      0      0
3      0    0    0    0    0    0  ...      0      0      0      0      0      0
4      4    0    0    0    0    0  ...      0      0      0      0      0      0
[5 rows x 785 columns]

넷플릭스 타이틀

netflix = pd.read_csv("https://raw.githubusercontent.com/practiceprobs/datasets/main/netflix-titles/netflix-titles.csv")
netflix.head()
  show_id  ...                                        description
0      s1  ...  As her father nears the end of his life, filmm...
1      s2  ...  After crossing paths at a party, a Cape Town t...
2      s3  ...  To protect his family from a powerful drug lor...
3      s4  ...  Feuds, flirtations and toilet talk go down amo...
4      s5  ...  In a city of coaching centers known to train I...
[5 rows x 12 columns]

언급URL : https://stackoverflow.com/questions/28417293/sample-datasets-in-pandas

반응형