Saat menggunakan R, berguna untuk memuat set data "latihan" menggunakan
data(iris)
atau
data(mtcars)
Apakah ada yang serupa untuk Panda? Saya tahu saya dapat memuat menggunakan metode lain, hanya ingin tahu apakah ada sesuatu di dalamnya.
Saat menggunakan R, berguna untuk memuat set data "latihan" menggunakan
data(iris)
atau
data(mtcars)
Apakah ada yang serupa untuk Panda? Saya tahu saya dapat memuat menggunakan metode lain, hanya ingin tahu apakah ada sesuatu di dalamnya.
Jawaban:
Sejak saya pertama kali menulis jawaban ini, saya telah memperbaruinya dengan banyak cara yang sekarang tersedia untuk mengakses kumpulan data sampel dengan Python. Secara pribadi, saya cenderung tetap menggunakan paket apa pun yang sudah saya gunakan (biasanya seaborn atau panda). Jika Anda membutuhkan akses offline, menginstal kumpulan data dengan Quilt tampaknya menjadi satu-satunya pilihan.
Paket plotting yang brilian seaborn
memiliki beberapa kumpulan data sampel bawaan.
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
Jika Anda tidak ingin mengimpor seaborn
, tetapi masih ingin mengakses kumpulan data sampelnya , Anda dapat menggunakan pendekatan @ andrewwowens untuk data sampel seaborn:
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
Perhatikan bahwa contoh kumpulan data yang berisi kolom kategorikal memiliki jenis kolom yang dimodifikasi olehsns.load_dataset()
dan hasilnya mungkin tidak sama dengan mendapatkannya dari url secara langsung. Kumpulan data sampel iris dan tip juga tersedia di repo github panda di sini .
Karena kumpulan data apa pun dapat dibaca pd.read_csv()
, maka dimungkinkan untuk mengakses semua kumpulan data sampel R dengan menyalin URL dari repositori kumpulan data R ini .
Cara tambahan untuk memuat kumpulan data sampel R termasuk
statsmodel
import statsmodels.api as sm
iris = sm.datasets.get_rdataset('iris').data
dan PyDataset
from pydataset import data
iris = data('iris')
scikit-learn
mengembalikan data sampel sebagai larik numpy daripada bingkai data panda.
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 adalah pengelola dataset yang dibuat untuk memfasilitasi pengelolaan dataset. Ini mencakup banyak kumpulan data sampel umum, seperti beberapa dari repositori sampel uciml . The cepat halaman awal menunjukkan cara menginstal dan impor iris kumpulan data:
# In your terminal
$ pip install quilt
$ quilt install uciml/iris
Setelah memasang kumpulan data, itu dapat diakses secara lokal, jadi ini adalah opsi terbaik jika Anda ingin bekerja dengan data secara offline.
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 juga mendukung pembuatan versi set data dan menyertakan deskripsi singkat dari setiap set data.
The rpy2
modul dibuat untuk ini:
from rpy2.robjects import r, pandas2ri
pandas2ri.activate()
r['iris'].head()
hasil
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
Hingga pandas 0.19 Anda dapat menggunakan rpy
antarmuka panda sendiri :
import pandas.rpy.common as rcom
iris = rcom.load_data('iris')
print(iris.head())
hasil
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
juga menyediakan cara untuk mengubah R
objek menjadi objek 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())
hasil
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')
?
pandas.rpy
telah dihapus pada 0.20 . Untuk berinteraksi dengan R, rpy2
adalah opsi yang disarankan.
File .csv yang tersedia untuk umum dapat dimuat ke panda dengan sangat cepat menggunakan URL-nya. Berikut adalah contoh penggunaan dataset iris yang berasal dari arsip 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()
Keluarannya di sini adalah tajuk file .csv yang baru saja Anda muat dari URL yang diberikan.
>>> 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 singkat yang mudah diingat untuk hal yang sama adalah https://j.mp/iriscsv
. URL singkat ini hanya akan berfungsi jika diketik dan tidak jika disalin-tempel.
iris.names
DataFrame pengujian pandas builtin sangat nyaman.
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
opsi DataFrame pengujian lainnya :
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