Как добавить колонку в pandas? Узнайте простой способ с помощью эмодзи! 🐼📊
Чтобы добавить колонку в pandas, вы можете использовать метод assign()
или обратиться к колонке по имени и присвоить ей новое значение.
import pandas as pd
# создаем DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
# добавляем новую колонку с помощью assign()
df = df.assign(C=[7, 8, 9])
# или присваиваем новое значение существующей колонке
df['D'] = [10, 11, 12]
print(df)
Детальный ответ
Как добавить колонку в pandas
В библиотеке pandas, добавление новой колонки в DataFrame предоставляет возможность расширения и обогащения данных. В следующем объяснении я покажу вам, как добавить новую колонку в pandas DataFrame с использованием примеров кода.
Метод №1: Присвоение значения существующей колонке
Если у вас уже есть существующая колонка в DataFrame, вы можете использовать присвоение значений, чтобы добавить новую колонку на основе существующих данных.
Пример:
import pandas as pd
# Создаем DataFrame
df = pd.DataFrame({'Name': ['John', 'Mike', 'Sarah'],
'Age': [25, 30, 35]})
# Добавляем новую колонку "Gender" на основе существующей колонки "Age"
df['Gender'] = ['Male', 'Male', 'Female']
print(df)
В приведенном примере мы создали DataFrame с колонками "Name" и "Age". Затем мы добавили новую колонку "Gender" на основе существующей колонки "Age".
Метод №2: Использование выражений для вычисления значений
Вы также можете использовать выражения для вычисления значений новой колонки на основе существующих колонок. В pandas это можно сделать с помощью метода `eval()` или операций над Series.
Пример с `eval()`:
import pandas as pd
# Создаем DataFrame
df = pd.DataFrame({'Name': ['John', 'Mike', 'Sarah'],
'Age': [25, 30, 35]})
# Добавляем новую колонку "IsAdult" на основе колонки "Age" с помощью `eval()`
df.eval('IsAdult = Age >= 18', inplace=True)
print(df)
В приведенном примере мы использовали метод `eval()` для добавления новой колонки "IsAdult" на основе условия, что значение в колонке "Age" больше или равно 18.
Пример с операциями над Series:
import pandas as pd
# Создаем DataFrame
df = pd.DataFrame({'Name': ['John', 'Mike', 'Sarah'],
'Age': [25, 30, 35]})
# Добавляем новую колонку "IsAdult" на основе колонки "Age" с использованием операций над Series
df['IsAdult'] = df['Age'] >= 18
print(df)
В этом примере мы использовали операции над Series для добавления новой колонки "IsAdult" на основе условия, что значение в колонке "Age" больше или равно 18. Результатом будет новая колонка, содержащая булевые значения True или False.
Метод №3: Использование функции для вычисления значений
Если вам требуется более сложная логика для вычисления значений новой колонки, вы можете использовать функции. В pandas это можно сделать с помощью метода `apply()`.
Пример:
import pandas as pd
# Создаем DataFrame
df = pd.DataFrame({'Name': ['John', 'Mike', 'Sarah'],
'Age': [25, 30, 35]})
# Создаем функцию для вычисления значения новой колонки "Group"
def assign_group(age):
if age < 30:
return 'Young'
else:
return 'Adult'
# Добавляем новую колонку "Group" на основе функции
df['Group'] = df['Age'].apply(assign_group)
print(df)
В этом примере мы создали функцию `assign_group()`, которая принимает возраст и возвращает категорию "Young" или "Adult" в зависимости от значения возраста. Затем мы использовали метод `apply()` для применения этой функции к каждому значению в колонке "Age" и добавили результаты в новую колонку "Group".
Заключение
Добавление новой колонки в pandas DataFrame может быть произведено несколькими способами, в зависимости от требуемой логики и исходных данных. В данной статье я показал вам три основных метода: использование присвоения значений, выражений для вычисления и функций. Вы можете выбрать подход, который лучше всего подходит для вашей конкретной задачи.