Как применить функцию к выбранным столбцам в Pandas


Вы можете использовать следующий синтаксис, чтобы применить функцию к одному или нескольким столбцам pandas DataFame:

#divide values in *column1* by 2
df['column1'] = df['column1'] / 2

#divide values in *column1* and *column2* by 2
df[['column1', 'column2']] = df[['column1', 'column2']] / 2

#divide values in every column of DataFrame by 2
df = df / 2

В следующих примерах показано, как использовать этот синтаксис на практике.

Пример 1. Применение функции к одному столбцу

В следующем коде показано, как применить функцию только к одному столбцу DataFrame:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [10, 12, 12, 14, 13, 18],
 'rebounds': [7, 7, 8, 13, 7, 4],
 'assists': [11, 8, 10, 6, 6, 5]})

#view DataFrame
df

 points rebounds assists
0 10 7 11
1 12 7 8
2 12 8 10
3 14 13 6
4 13 7 6
5 18 4 5

#divide values in *points* column by 2
df['points'] = df['points'] / 2

#view updated DataFrame
df

 points rebounds assists
0 5.0 7 11
1 6.0 7 8
2 6.0 8 10
3 7.0 13 6
4 6.5 7 6
5 9.0 4 5

Пример 2. Применение функции к определенным столбцам

В следующем коде показано, как применить функцию к определенным столбцам DataFrame:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [10, 12, 12, 14, 13, 18],
 'rebounds': [7, 7, 8, 13, 7, 4],
 'assists': [11, 8, 10, 6, 6, 5]})

#view DataFrame
df

 points rebounds assists
0 10 7 11
1 12 7 8
2 12 8 10
3 14 13 6
4 13 7 6
5 18 4 5

#divide values in *points* and *rebounds* column by 2
df[['points', 'rebounds']] = df[['points', 'rebounds']] / 2

#view updated DataFrame
df

 points rebounds assists
0 5.0 3.5 11
1 6.0 3.5 8
2 6.0 4.0 10
3 7.0 6.5 6
4 6.5 3.5 6
5 9.0 2.0 5

Пример 3. Применение функции ко всем столбцам

В следующем коде показано, как применить функцию к каждому столбцу DataFrame:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [10, 12, 12, 14, 13, 18],
 'rebounds': [7, 7, 8, 13, 7, 4],
 'assists': [11, 8, 10, 6, 6, 5]})

#view DataFrame
df

 points rebounds assists
0 10 7 11
1 12 7 8
2 12 8 10
3 14 13 6
4 13 7 6
5 18 4 5

#divide values in every column by 2
df = df / 2

#view updated DataFrame
df

 points rebounds assists
0 5.0 3.5 5.5
1 6.0 3.5 4.0
2 6.0 4.0 5.0
3 7.0 6.5 3.0
4 6.5 3.5 3.0
5 9.0 2.0 2.5

Дополнительные ресурсы

Как рассчитать среднее значение столбцов в Pandas
Как рассчитать сумму столбцов в Pandas
Как найти максимальное значение столбцов в Pandas