Как добавить столбец в pandas? Узнайте простой способ с помощью этих советов и смайликов!
Чтобы добавить столбец в pandas, вы можете использовать метод assign() или присвоить новый столбец к существующему датафрейму.
Метод assign()
Метод assign() создает новый датафрейм с добавленным столбцом.
import pandas as pd
# Создаем исходный датафрейм
df = pd.DataFrame({'A': [1, 2, 3],
'B': [4, 5, 6]})
# Добавляем новый столбец 'C' с помощью assign()
df_new = df.assign(C=[7, 8, 9])
# Выводим обновленный датафрейм
print(df_new)
Присвоение нового столбца
Вы также можете просто присвоить новый столбец к существующему датафрейму.
import pandas as pd
# Создаем исходный датафрейм
df = pd.DataFrame({'A': [1, 2, 3],
'B': [4, 5, 6]})
# Присваиваем новый столбец 'C' к датафрейму
df['C'] = [7, 8, 9]
# Выводим обновленный датафрейм
print(df)
Детальный ответ
Как добавить столбец в pandas
Библиотека pandas - это мощный инструмент для анализа данных в языке программирования Python. Одной из часто используемых операций в pandas является добавление нового столбца в существующий DataFrame. В этой статье мы рассмотрим, как добавить столбец в pandas и предоставим примеры кода.
Первым шагом является импорт библиотеки pandas:
import pandas as pd
Добавление столбца с помощью оператора присваивания
Простейший способ добавить столбец в pandas - использовать оператор присваивания. Вы можете назначить новый столбец на основе существующих данных или создать пустой столбец и заполнить его значением.
Ниже приведен пример добавления нового столбца с именем "age" в DataFrame "df" с помощью оператора присваивания:
df['age'] = [25, 30, 35, 40]
Это присваивает новый столбец "age" в DataFrame "df" со значениями [25, 30, 35, 40]. Обратите внимание, что длина списка должна быть равна количеству строк в DataFrame. Если длина списка не соответствует, возникнет ошибка.
Вы также можете назначить новый столбец на основе существующего столбца. В следующем примере мы создадим столбец "dob_year", используя столбец "dob", содержащий дату рождения в формате ГГГГ-ММ-ДД:
df['dob_year'] = pd.to_datetime(df['dob']).dt.year
В этом примере мы используем метод pd.to_datetime(), чтобы преобразовать столбец "dob" в тип данных даты и времени, а затем используем метод dt.year для извлечения года из даты. Результат будет назначен новому столбцу "dob_year".
Добавление столбца с помощью метода assign()
Метод assign() предоставляет более гибкий способ добавления столбцов в pandas. Он позволяет добавлять несколько столбцов одновременно и выполнять операции над существующими столбцами.
Ниже приведен пример использования метода assign() для добавления двух новых столбцов "age_group" и "is_employed" на основе существующего столбца "age" и условия занятости:
df = df.assign(age_group=lambda x: pd.cut(x['age'], bins=[0, 18, 30, 50, float('inf')], labels=['<18', '18-30', '30-50', '50+']),
is_employed=lambda x: x['employment_status'] == 'Employed')
В этом примере мы используем метод assign() для создания двух новых столбцов "age_group" и "is_employed". В первом аргументе мы задаем имя нового столбца, а во втором аргументе мы определяем, какие значения назначаются этому столбцу.
Второй аргумент может быть функцией, которая принимает DataFrame в качестве аргумента и возвращает Series или массив. В примере мы используем лямбда-функции для определения значения новых столбцов на основе существующих столбцов и условия.
Добавление столбца с помощью метода insert()
Метод insert() позволяет добавлять столбцы на определенную позицию в DataFrame. Вы указываете номер позиции, куда нужно вставить столбец, а также задаете имя и значения нового столбца.
Ниже приведен пример использования метода insert() для добавления нового столбца с именем "gender" на позицию 2:
df.insert(2, 'gender', ['M', 'F', 'M', 'F'])
В этом примере мы используем метод insert() для вставки нового столбца с именем "gender" на позицию 2 в DataFrame "df". Значения нового столбца ['M', 'F', 'M', 'F'].
Обратите внимание, что индексация столбцов в pandas начинается с 0, поэтому позиция 2 соответствует третьему столбцу в DataFrame.
Заключение
В этой статье мы рассмотрели различные способы добавления столбцов в pandas. Вы можете использовать оператор присваивания, метод assign() и метод insert(), в зависимости от ваших потребностей. Оба метода предлагают гибкость и удобство для добавления новых столбцов в DataFrame.