Как использовать метод assign() в pandas (с примерами)
Метод Assign() можно использовать для добавления новых столбцов в DataFrame pandas.
Этот метод использует следующий базовый синтаксис:
df. assign (new_column = values)
Важно отметить, что этот метод будет отображать только новый DataFrame на консоли, но фактически не будет изменять исходный DataFrame.
Чтобы изменить исходный DataFrame, вам нужно будет сохранить результаты метода Assign() в новой переменной.
В следующих примерах показано, как по-разному использовать метод Assign() со следующим DataFrame pandas:
import pandas as pd #define DataFrame df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame print (df) points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12
Пример 1. Назначение новой переменной DataFrame
Следующий код показывает, как использовать метод Assign() для добавления новой переменной в DataFrame с именем Points2 , значения которой равны значениям в столбце Points , умноженным на два:
#add new variable called points2
df. assign (points2 = df.points * 2 )
points assists rebounds points2
0 25 5 11 50
1 12 7 8 24
2 15 7 10 30
3 14 9 6 28
4 19 12 6 38
5 23 9 5 46
6 25 9 9 50
7 29 4 12 58
Обратите внимание, что этот метод Assign() не изменяет исходный DataFrame.
Если мы распечатаем исходный DataFrame, мы увидим, что он остался неизменным:
#print original DataFrame print (df) points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12
Чтобы сохранить результаты метода Assign() , мы можем сохранить результаты в новом DataFrame:
#add new variable called points2 and save results in new DataFrame
df. assign (points2 = df.points * 2 )
#view new DataFrame
print (df_new)
points assists rebounds points2
0 25 5 11 50
1 12 7 8 24
2 15 7 10 30
3 14 9 6 28
4 19 12 6 38
5 23 9 5 46
6 25 9 9 50
7 29 4 12 58
Новый DataFrame под названием df_new теперь содержит созданный нами столбец Points2 .
Пример 2. Назначение нескольких новых переменных DataFrame
Следующий код показывает, как использовать метод Assign() для добавления трех новых переменных в DataFrame:
#add three new variables to DataFrame and store results in new DataFrame df_new = df. assign (points2 = df. points * 2 , assists_rebs = df. assists + df. rebounds , conference = ' Western ') #view new DataFrame print (df_new) points assists rebounds points2 assists_rebs conference 0 25 5 11 50 16 Western 1 12 7 8 24 15 Western 2 15 7 10 30 17 Western 3 14 9 6 28 15 Western 4 19 12 6 38 18 Western 5 23 9 5 46 14 Western 6 25 9 9 50 18 Western 7 29 4 12 58 16 Western
Обратите внимание, что в DataFrame добавлены три новых столбца.
Примечание . Полную документацию по методу Assign() в pandas можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как использовать другие распространенные функции в pandas:
Как использовать функцию описания() в Pandas
Как использовать функцию idxmax() в Pandas
Как применить функцию к выбранным столбцам в Pandas