При використанні R зручно завантажувати "практичні" набори даних за допомогою
data(iris)
або
data(mtcars)
Чи є щось подібне для Pandas? Я знаю, що можу завантажувати будь-яким іншим методом, просто цікаво, чи є щось вбудоване.
При використанні R зручно завантажувати "практичні" набори даних за допомогою
data(iris)
або
data(mtcars)
Чи є щось подібне для Pandas? Я знаю, що можу завантажувати будь-яким іншим методом, просто цікаво, чи є щось вбудоване.
Відповіді:
Оскільки я спочатку написав цю відповідь, я оновив її багатьма способами, які зараз доступні для доступу до зразків наборів даних у Python. Особисто я схильний дотримуватися будь-якої упаковки, яку я вже використовую (зазвичай морських народжень або панд). Якщо вам потрібен офлайн-доступ, встановлення набору даних за допомогою 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
, але все одно хочете отримати доступ до його зразків наборів даних , ви можете використовувати підхід @ andrewwowens для даних зразків морського народження:
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
Зверніть увагу, що у зразках наборів даних, що містять категоріальні стовпці, тип стовпця змінено на,sns.load_dataset()
і результат може бути не однаковим, отримуючи його з URL-адреси безпосередньо. Зразки наборів даних райдужної оболонки і підказок також доступні в репо-програмі pandas github тут .
Так як будь-який набір даних можна зчитувати з допомогою pd.read_csv()
, можна отримати доступ прикладів наборів даних всіх R шляхом копіювання 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
повертає зразкові дані як масиви 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
Quilt - це менеджер наборів даних, створений для полегшення управління наборами даних. Він включає багато типових наборів даних, таких як кілька із сховища зразків uciml . На сторінці швидкого запуску показано, як встановити та імпортувати набір даних iris:
# 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
Ковдра також підтримує встановлення версій набору даних та включає короткий опис кожного набору даних.
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 ви можете використовувати власний rpy
інтерфейс pandas :
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
також надає спосіб перетворення 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())
врожайність
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-адресу. Ось приклад використання набору даних райдужної оболонки, спочатку з архіву 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()
Результатом є заголовок файлу .csv, який ви щойно завантажили з вказаної URL-адреси.
>>> 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