Як використовувати panda apply() на місці


Функцію pandas apply() можна використовувати для застосування функції до рядків або стовпців pandas DataFrame.

Ця функція відрізняється від інших функцій, таких як drop() і replace() , які надають аргумент на місці:

 df. drop ([' column1 '], inplace= True )

df. rename ({' old_column ': ' new_column '}, inplace= True )

Функція apply() не має аргументу inplace, тому ми повинні використовувати наступний синтаксис для перетворення inplace DataFrame:

 df = df. apply ( lambda x: x* 2 )

Наступні приклади показують, як використовувати цей синтаксис на практиці з наступними pandas DataFrame:

 import pandas as pd

#createDataFrame
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
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: використовуйте apply() замість стовпця

Наступний код демонструє, як використовувати apply() для перетворення стовпця кадру даних на місці:

 #multiply all values in 'points' column by 2 in place
df. loc [:, ' points '] = df. points . apply ( lambda x: x* 2 )

#view updated DataFrame
df

points assists rebounds
0 50 5 11
1 24 7 8
2 30 7 10
3 28 9 6
4 38 12 6
5 46 9 5
6 50 9 9
7 58 4 12

Приклад 2: використовуйте apply() замість кількох стовпців

Наступний код демонструє, як використовувати apply() для перетворення кількох стовпців фрейму даних на місці:

 multiply all values in 'points' and 'rebounds' column by 2 in place
df[[' points ', ' rebounds ']] = df[[' points ', ' rebounds ']]. apply ( lambda x: x* 2 )

#view updated DataFrame
df

	points assists rebounds
0 50 5 22
1 24 7 16
2 30 7 20
3 28 9 12
4 38 12 12
5 46 9 10
6 50 9 18
7 58 4 24

Приклад 3: використовуйте apply() замість усіх стовпців

Наступний код показує, як використовувати apply() для перетворення всіх стовпців у фреймі даних на місці:

 #multiply values in all columns by 2
df = df. apply ( lambda x: x* 2 )

#view updated DataFrame
df

	points assists rebounds
0 50 10 22
1 24 14 16
2 30 14 20
3 28 18 12
4 38 24 12
5 46 18 10
6 50 18 18
7 58 8 24

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

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

Як обчислити суму стовпців у Pandas
Як обчислити середнє значення стовпців у Pandas
Як знайти максимальне значення стовпців у Pandas

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

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