Рубрики
Без рубрики

Сводная информация о операциях Python Pandas DataFrame

Обычная потребность в обработке данных является группировка записей по столбцам (ы). В современной статье мы суммируем операции DataFrame Python Pandas Pandas.

Автор оригинала: Pankaj Kumar.

Обычная потребность в обработке данных является группировка записей по столбцам (ы). В современной статье мы подводя идут на Python Pandas Операции DataFrame Отказ

Эти возможности включают подсчет работников в каждом отделении компании, измерение средней заработной платы мужского пола и персонала в каждом отделении, а также расчет средней зарплаты персонала различных возрастов.

Чтобы иметь возможность легко управлять большим количеством группировки, Pandas имеет функцию Groupby (). Но есть определенные функции, которые трудно выполнить функцию.

Давайте изучим эти «сложные» действия здесь и попытайтесь предоставить возможные решения. Groupby – одна из самых важных особенностей Пандас. Он используется в соответствии с методом сплит-приложения-комбината для группировки и суммирования данных.

Набор данных для демонстрации операций DataFrame

Взяты из https://www.kaggle.com/kaggle/sf-salaries Отказ Это набор данных заработной платы сотрудников в Сан-Франциско в течение 3 лет:

import pandas as pd
import numpy as np

df = pd.read_csv("Salaries.csv",index_col="Id")
df

Агрегация одной колонкой

Для определенного столбца вы группируете записи, а затем выполняете агрегирование через каждую группу. Это самое простое применение техники выше.

df.groupby('Year')['Year'].count()

Агрегация несколькими столбцами

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

df['BasePay'] = df['BasePay'].apply(pd.to_numeric, downcast='float', errors='coerce')
df.groupby(['Year','JobTitle'],as_index=False).mean()

Агрегация расчетной колонны

Ключ группировки не представляет информационные индексы и должен быть определен на основе текущих данных. Ключевой ключ называется измеренным столбцом.

df.groupby(df['BasePay']-100000).mean()

Множественные агрегации

Как насчет работы с несколькими столбцами одновременно? Давайте взглянем.

1. Совокупность на любой из нескольких столбцов

(На каждой из многих таблиц вы выполняете один вид агрегата):

df.groupby('Year',as_index=False).agg({'EmployeeName':'count','BasePay':'mean'})

Чтобы получить агрегацию завершенные, связанные столбцы и с участием совокупных операций передаются в функцию в виде словаря, где столбцы являются ключевыми ключами, а агрегаты являются значениями.

2. Несколько агрегатов на одном столбце

На одном столбце вы можете выполнить более одной формы агрегата:

df.groupby('Year').agg(['std','mean']).reset_index()

3. Несколько агрегатов над несколькими столбцами

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

df.groupby('Year').agg({'BasePay':['count','mean'],'JobTitle':'max'})

Доступны функции агрегации

Вот 13 особенности агрегации, доступных в Пандах и краткое описание того, что он делает.

  • Среднее () : Средняя оценка классов
  • Сумма () : Вычислить сумму значений группы
  • Размер () : Вычислить размеры сообщества
  • Count () : Вычисление группы группы
  • Std () : Стандартное отклонение группы
  • Var () : Дисперсия вычисления групп
  • SEM () : Средняя ошибка по умолчанию для классов
  • Опишите () : Производит цифры, которые являются информативными
  • Сначала () : Первый из групповых значений рассчитывается.
  • Последнее () : Последняя оценка групповых значений

DataFrame Присоединяйтесь к операциям

Мы понимаем преимущества принятия двухкомнатной декартовой продукции, что дает нам все потенциальные кортежи, которые соединены вместе.

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

Присоединяйтесь к является изменением процесса сортировки декартового продукта +. Два кортежи от отдельных галстуков соединены путем действия присоединения, если данное условие соединения выполняется.

pandas.DataFrame.join(other, on=None, how='left', lsuffix='', rsuffix='', sort=False)

Вы можете заменить параметр «Как» с «слева», «правильным», «внешним» или «внутренним». Значение по умолчанию «влево».

Создание датафарама из словаря.

d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d)
df
col1 col2
0 1 3
1 2 4

Обратите внимание, что предполагаемый DTYPE INT64.

df.dtypes
col1 int64
col2 int64
dtype: object

Для обеспечения приема одного DTYPE:

df = pd.DataFrame(data=d, dtype=np.int8)
df.dtypes
col1 int8
col2 int8
dtype: object

Создание датафарама из NDARRAY TOMPY:

df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),
columns=['a', 'b', 'c'])
df2
  a b c
0 1 2 3
1 4 5 6
2 7 8 9

Завершение примечания

Операции Python DataFrame – очень обширная тема, и есть много переменных и функций, с которыми вы можете работать. Если вы хотите узнать больше о операциях DataFrame, посетите Документация Pandas DataFrame здесь.