Как использовать пять операций с столбцами, которые чаще всего ищут в пакете Python Pandas в Google

Изначально я познакомился с Python и его пакетом, в частности с Pandas, чтобы попытаться уйти от манипулирования файлами Excel при работе в качестве аналитика данных. Я автоматизировал аспекты моей ежемесячной рабочей нагрузки с помощью VBA, но обнаружил, что мой код работает медленнее, чем ожидалось, даже после настройки. Я хотел попробовать что-то новое, быстрое и гибкое. Когда я открыл для себя Pandas, это помогло мне быстро, гибко и учиться!

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

Отсюда я предполагаю, что у вас есть .py файл или записная книжка для работы с Pandas, импортированными как псевдоним pd, и фреймом данных, загруженным как df.

1. Как сортировать по столбцу с пандами

Сортировку фрейма данных Pandas df по одному или нескольким столбцам можно выполнять либо по возрастанию, либо по убыванию.

df.sort_values(by='column_name', ascending=False)

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

Если вам нужно отсортировать по нескольким столбцам, измените значения параметров, чтобы они были списками столбцов и списком соответствующих порядков сортировки (по возрастанию / по убыванию).

df.sort_values(by=['col_1', 'col_2'], ascending=[True, False])

В этом примере фрейм данных df упорядочен по col_1 в порядке возрастания и col_2 в порядке убывания.

2. Как переименовать столбцы в пандах

Существует несколько способов переименования столбцов с помощью Pandas, я рассмотрю несколько из них, чтобы переименовать один или несколько столбцов.

pd.rename(columns={'original_col_name': 'new_col_name'})

Чтобы переименовать несколько столбцов, добавьте эти обновления в словарь параметров columns.

pd.rename(columns={'original_col1_name': 'new_col1_name', 'original_col2_name': 'new_col2_name'})

Другой способ переименования заголовков столбцов с помощью модуля Python Pandas - установить атрибут columns:

pd.columns = ['col_1', 'col_2', 'col_3']

3. Как удалить столбец фрейма данных Pandas

Вы можете удалить один или несколько столбцов фрейма данных Pandas в любой момент. Во-первых, давайте начнем с одного.

df.drop('column_name', axis=1)

Указание axis=1 гарантирует, что вы отбрасываете столбец, а не строку. Чтобы удалить несколько столбцов, обновите его, включив в него список имен столбцов.

df.drop(['col_1', 'col_2', 'col_3'], axis=1)

4. Как группировать и объединять столбцы с помощью Pandas

Группировка данных с помощью Pandas - это один из способов обобщить ваши данные. Это можно использовать как основу для построения диаграмм или просто для получения информации. Вот как это сделать, используя метод Pandas groupby для одного столбца, col_1 и подсчитав количество строк в группе.

df.groupby('col_1').count()

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

df.groupby(['col_1', 'col_2']).agg(['sum', 'mean'])

5. Как применить функцию к столбцу с помощью Pandas

Один из способов применения функции ко всем строкам в столбце фрейма данных Pandas - это (хотите верьте, хотите нет) использовать метод apply.

df['col'].apply(function)

Выше был выбран конкретный столбец col_1 для функции (в данном случае общий). Применяемые функции могут быть встроенными, например функция квадратного корня numpy np.sqrt или определяемая пользователем функция, которую вы указали, с использованием лямбда-функции или иным образом.

df['col'].apply(lambda x: x**2 + 5)

Используя лямбда-функцию, для каждой строки в столбце col каждое значение будет возведено в квадрат, а затем к нему будут добавлены пять.

Резюме

Теперь вы должны чувствовать себя уверенно, чтобы попробовать следующее с помощью Pandas:

  1. Сортировать по столбцам df.sort_values()
  2. Переименовать столбцы df.rename()
  3. Удалить столбцы df.drop()
  4. Группировать и агрегировать по столбцам df.groupby().agg()
  5. Применить функцию ко всем строкам в столбце df.apply()