Подтвердить что ты не робот

Примеры наборов данных в Pandas

При использовании R удобно загружать "практические" наборы данных, используя

data(iris)

или

data(mtcars)

Есть ли что-то подобное для Pandas? Я знаю, что могу загружаться с помощью любого другого метода, просто любопытно, если что-нибудь встроенное

4b9b3361

Ответ 1

Для этого создан 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 также предоставляет способ преобразовать объекты 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

Ответ 2

Альтернативным решением является использование блестящего пакета для печати seaborn. Импортирование только api позволяет избежать изменения matplotlib.rcParams, которое является поведением по умолчанию.

import seaborn.apionly as sns
iris = sns.load_dataset('iris')
print(iris.head())

дает то же, что и для R-решения.

   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 repo здесь.

Ответ 3

Любой общедоступный .csv файл может быть загружен в pandas чрезвычайно быстро, используя свой URL-адрес. Ниже приведен пример использования одного из наборов данных UcsA.csv.

import pandas as pd

file_name = "http://www.ats.ucla.edu/stat/data/binary.csv"

df = pd.read_csv(file_name)

df.head()

Результат здесь является заголовком файла .csv, который вы только что загрузили из заданного URL.

>>>df.head()
   admit  gre   gpa  prestige
0      0  380  3.61         3
1      1  660  3.67         3
2      1  800  4.00         1
3      1  640  3.19         4
4      0  520  2.93         4