Метод assign() для DataFrame в Pandas

PythonPythonBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии мы научимся использовать метод assign() из библиотеки Pandas в Python. Метод assign() позволяет нам добавлять новые столбцы в DataFrame и возвращает новый объект DataFrame со всеми исходными столбцами плюс новые. Мы можем назначать новые столбцы напрямую или с использованием функций или выражений.

Советы по работе с ВМ

После запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и приступить к практике в Jupyter Notebook.

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

Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Импортируем необходимые библиотеки

Сначала импортируем необходимые библиотеки: pandas и numpy.

import pandas as pd
import numpy as np

Создаем DataFrame

Далее создадим DataFrame, содержащий некоторые примеры данных. Мы будем использовать функцию pd.DataFrame(), чтобы создать DataFrame из словаря.

data = {'A': [1, 2, 3, 4, 5], 'B': [6, 7, 8, 9, 10]}
df = pd.DataFrame(data)
print(df)

Результат будет таким:

   A   B
0  1   6
1  2   7
2  3   8
3  4   9
4  5  10

Назначаем новый столбец DataFrame

Теперь давайте присвоим новую колонку DataFrame с помощью метода assign(). Мы можем напрямую назначить новую колонку, указав имя колонки и значения.

df = df.assign(C=[11, 12, 13, 14, 15])
print(df)

Результат будет таким:

   A   B   C
0  1   6  11
1  2   7  12
2  3   8  13
3  4   9  14
4  5  10  15

Назначаем новый столбец с использованием функции

Мы также можем назначить новый столбец DataFrame, передав функцию в метод assign(). Эта функция будет принимать DataFrame в качестве входных данных и выполнять вычисление для генерации значений нового столбца. Назначим новый столбец D, который вычисляет значение C плюс 1.

df = df.assign(D=lambda x: x['C'] + 1)
print(df)

Результат будет таким:

   A   B   C   D
0  1   6  11  12
1  2   7  12  13
2  3   8  13  14
3  4   9  14  15
4  5  10  15  16

Назначаем несколько столбцов DataFrame

Мы можем назначить несколько столбцов DataFrame, используя метод assign() несколько раз. Назначим двум новым столбцам E и F DataFrame. Столбец E будет вычислять значение A плюс 1, а столбец F будет вычислять значение B минус 1.

df = df.assign(E=lambda x: x['A'] + 1).assign(F=lambda x: x['B'] - 1)
print(df)

Результат будет таким:

   A   B   C   D   E   F
0  1   6  11  12   2   5
1  2   7  12  13   3   6
2  3   8  13  14   4   7
3  4   9  14  15   5   8
4  5  10  15  16   6   9

Резюме

В этом практическом занятии мы узнали, как использовать метод assign() в Pandas для добавления новых столбцов в DataFrame. Мы можем назначать новые столбцы напрямую или с использованием функций или выражений. Этот метод позволяет легко манипулировать и изменять наш DataFrame без изменения исходных данных.