В этом уроке вы узнаете:
- Импорт CSV в Pandas
- Метод Pandas read_csv()
- Pandas метод groupby()
Contents
Метод Pandas read_csv()
Чтобы импортировать набор данных CSV, вы можете использовать объект pd.read_csv(). Основной аргумент внутри:
Pandas read_csv() Синтаксис
pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
- filepath_or_buffer : Путь или URL с данными
- sep=’, ‘ : Определите разделитель для использования
- `names=None` : Назовите столбцы. Если в наборе данных десять столбцов, вам нужно передать десять имен.
- `index_col=None` : если да, первый столбец используется как индекс строки.
- `skipinitialspace=False` : Пропускать пробелы после разделителя.
Панды 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 000 или ниже 50 00
df_train.groupby(['label']).mean()
возраст | фнлвгт | Education_num | прирост капитала | капитал_убыток | часы_неделя | |
---|---|---|---|---|---|---|
этикетка | ||||||
<=50 тыс. | 36.783738 | 190340.86517 | 9.595065 | 148.752468 | 53.142921 | 38.840210 |
> 50 тыс. | 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
Вы можете создать сюжет после groupby. Один из способов сделать это — использовать график после группировки.
Чтобы создать более совершенный график, вы будете использовать unstack() после mean(), чтобы у вас был тот же многоуровневый индекс, или вы объединяете значения по доходу ниже 50 000 и выше 50 000. В этом случае на участке будет две группы вместо 14 (2*7).
Если вы используете Jupyter Notebook , обязательно добавьте встроенный %matplotlib, иначе график не будет отображаться.
%matplotlib inline df_plot = df_train.groupby(['label', 'marital'])['capital_gain'].mean().unstack() df_plot
Резюме
- Чтобы импортировать набор данных CSV в Pandas, вы можете использовать объект pd.read_csv().
- Метод groupby() может помочь вам обобщить данные по группам.
- Вы также можете группировать по нескольким столбцам. Например, вы можете получить максимальный прирост капитала в зависимости от типа домохозяйства и семейного положения.
Статья является переводом .guru99.com