Як використовувати метод assign() у pandas (з прикладами)


Метод assign() можна використовувати для додавання нових стовпців до pandas DataFrame.

Цей метод використовує такий базовий синтаксис:

 df. assign (new_column = values)

Важливо зазначити, що цей метод лише відображатиме новий DataFrame на консолі, але фактично не змінюватиме оригінальний DataFrame.

Щоб змінити вихідний DataFrame, вам потрібно буде зберегти результати методу assign() у новій змінній.

У наведених нижче прикладах показано, як різними способами використовувати метод assign() із такими pandas DataFrame:

 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 додано три нові стовпці.

Примітка . Ви можете знайти повну документацію методу pandas assign() тут .

Додаткові ресурси

У наступних посібниках пояснюється, як використовувати інші поширені функції в pandas:

Як використовувати функцію describe() у Pandas
Як використовувати функцію idxmax() у Pandas
Як застосувати функцію до вибраних стовпців у Pandas

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *