Pandas read_csv() с примером

Импортировать CSV в Pandas

Во время урока TensorFlow вы будете использовать набор данных для взрослых. Он часто используется с задачей классификации. Он доступен по этому URL https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data

Данные хранятся в формате CSV. Этот набор данных включает восемь категориальных переменных:

Этот набор данных включает 8 категориальных переменных:

  • рабочий класс
  • образование
  • брачный
  • оккупация
  • отношения
  • раса
  • секс
  • родная страна

И 6 непрерывных переменных:

  • возраст
  • фнлвгт
  • образование_номер
  • прирост капитала
  • капитал_убыток
  • часы_неделя

Метод read_csv() в Пандах

Чтобы импортировать набор данных CSV, вы можете использовать объект pd.read_csv(). Основной аргумент внутри:

Синтаксис read_csv() в Пандах

pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
  • путь_файла_или_буфер: Путь или URL-адрес с данными.
  • сент=', ': Определите используемый разделитель
  • `имена = Нет`: Назовите столбцы. Если в наборе данных десять столбцов, вам нужно передать десять имен.
  • `index_col=Нет`: Если да, первый столбец используется как индекс строки.
  • `skipinitialspace=False`: Пропускать пробелы после разделителя.

Для получения дополнительной информации о read_csv() ознакомьтесь с официальной документацией:

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html

Пример read_csv() в Пандах

## Import csv
import pandas as pd
## Define path data
COLUMNS = ['age','workclass', 'fnlwgt', 'education', 'education_num', 'marital',
           'occupation', 'relationship', 'race', 'sex', 'capital_gain', 'capital_loss',
           'hours_week', 'native_country', 'label']
PATH = "https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data"
df_train = pd.read_csv(PATH,
                       skipinitialspace=True,
                       names = COLUMNS,
                       index_col=False)
df_train.shape

Вывод:

(32561, 15)

Метод Pandas groupby()

Самый простой способ просмотреть данные — использовать метод groupby. Этот метод может помочь вам обобщить данные по группам. Ниже приведен список методов, доступных с помощью метода groupby():

  • считать: считать
  • мин: мин
  • Макс: Макс
  • имею в виду: имею в виду
  • медиана: медиана
  • стандартное отклонение: стандартное отклонение
  • и т.д

Внутри groupby() вы можете использовать столбец, к которому хотите применить метод.

Давайте посмотрим на одну группу с набором данных для взрослых. Вы получите среднее значение всех непрерывных переменных по типу дохода, т. е. выше 50 тыс. или ниже 50 тыс.:

df_train.groupby(['label']).mean()
этикетка возраст фнлвгт образование_номер прирост капитала капитал_убыток часы_неделя
<= 50 КБ 36.783738 190340.86517 9.595065 148.752468 53.142921 38.840210
> 50K 44.249841 188005.00000 11.611657 4006.142456 195.001530 45.473026

Минимальный возраст можно получить по типу домохозяйства:

df_train.groupby(['label'])['age'].min()
label
<=50K    17
>50K     19
Name: age, dtype: int64

Вы также можете группировать по нескольким столбцам. Например, вы можете получить максимальный прирост капитала в зависимости от типа домохозяйства и семейного положения.

df_train.groupby(['label', 'marital'])['capital_gain'].max()				
label  marital              
<=50K  Divorced                 34095
       Married-AF-spouse         2653
       Married-civ-spouse       41310
       Married-spouse-absent     6849
       Never-married            34095
       Separated                 7443
       Widowed                   6849
>50K   Divorced                 99999
       Married-AF-spouse         7298
       Married-civ-spouse       99999
       Married-spouse-absent    99999
       Never-married            99999
       Separated                99999
       Widowed                  99999
Name: capital_gain, dtype: int64

Вы можете создать сюжет после группировки. Один из способов сделать это — использовать график после группировки.

Чтобы создать более точный график, вы будете использовать unstack() после mean(), чтобы у вас был тот же многоуровневый индекс, или вы объедините значения по доходу ниже 50 50 и выше 14 2. В этом случае на участке будет две группы вместо 7 (XNUMX*XNUMX).

Если вы используете Jupyter ноутбук, обязательно добавьте встроенный %matplotlib, иначе график отображаться не будет.

%matplotlib inline
df_plot = df_train.groupby(['label', 'marital'])['capital_gain'].mean().unstack()
df_plot

Пример метода Pandas groupby()

Резюме

  • Чтобы импортировать набор данных CSV в Пандывы можете использовать объект pd.read_csv().
  • Метод groupby() может помочь вам суммировать данные по группам.
  • Вы также можете группировать по нескольким столбцам. Например, вы можете получить максимальный прирост капитала в зависимости от типа домохозяйства и семейного положения.