Home » How to Calculate the Average of Selected Columns in Pandas

How to Calculate the Average of Selected Columns in Pandas

by Erma Khan

You can use the following methods to calculate the average row values for selected columns in a pandas DataFrame:

Method 1: Calculate Average Row Value for All Columns

df.mean(axis=1)

Method 2: Calculate Average Row Value for Specific Columns

df[['col1', 'col3']].mean(axis=1)

The following examples shows how to use each method in practice with the following pandas DataFrame:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [14, 19, 9, 21, 25, 29, 20, 11],
                   '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	14	5	11
1	19	7	8
2	9	7	10
3	21	9	6
4	25	12	6
5	29	9	5
6	20	9	9
7	11	4	12

Method 1: Calculate Average Row Value for All Columns

The following code shows how to create a new column in the DataFrame that displays the average row value for all columns:

#define new column that shows the average row value for all columns
df['average_all'] = df.mean(axis=1)

#view updated DataFrame
df

	points	assists	rebounds  average_all
0	14	5	11	  10.000000
1	19	7	8	  11.333333
2	9	7	10	  8.666667
3	21	9	6	  12.000000
4	25	12	6	  14.333333
5	29	9	5	  14.333333
6	20	9	9	  12.666667
7	11	4	12	  9.000000

Here’s how to interpret the output:

The average value of the first row is calculated as: (14+5+11) / 3 = 10.

The average value of the second row is calculated as: (19+7+8) / 3 = 11.33.

And so on.

Method 2: Calculate Average Row Value for Specific Columns

The following code shows how to calculate the average row value for just the “points” and “rebounds” columns:

#define new column that shows average of row values for points and rebounds columns
df['avg_points_rebounds'] = df[['points', 'rebounds']].mean(axis=1)

#view updated DataFrame
df

        points	assists	rebounds  avg_points_rebounds
0	14	5	11	  12.5
1	19	7	8	  13.5
2	9	7	10	  9.5
3	21	9	6	  13.5
4	25	12	6	  15.5
5	29	9	5	  17.0
6	20	9	9	  14.5
7	11	4	12	  11.5

Here’s how to interpret the output:

The average value of “points” and “rebounds” in the first row is calculated as: (14+11) / 2 = 12.5.

The average value of “points” and “rebounds” in the second row is calculated as: (19+8) / 2 = 13.5.

And so on.

Additional Resources

The following tutorials explain how to perform other common operations in Python:

How to Calculate a Trimmed Mean in Python
How to Calculate Geometric Mean in Python
How to Replace Values in Pandas Column Based on Condition

Related Posts