API · Pandas
Pandas DataFrame DataFrame.sum() Function
The DataFrame sum() function calculates the sum of values of DataFrame object over the specified axis.
On this page
The function of the Python Pandas DataFrame.sum() is to calculate the sum of values of DataFrame object over the specified axis.
Syntax of pandas.DataFrame.sum():
DataFrame.sum(
axis=None, skipna=None, level=None, numeric_only=None, min_count=0, **kwargs
)
Parameters
axis |
find sum along the row (axis=0) or column (axis=1) |
skipna |
Boolean. Exclude NaN values (skipna=True) or include NaN values (skipna=False) |
level |
Count along with particular level if the axis is MultiIndex |
numeric_only |
Boolean. For numeric_only=True, include only float, int, and boolean columns |
min_count |
Integer. Minimum number of non-NaN values to calculate the sum. If this condition is not satisfied, the sum will be NaN |
**kwargs |
Additional keyword arguments to the function. |
Return
If the level is not specified, return Series of the sum of the values for the requested axis, else return DataFrame of sum values.
Example Codes: DataFrame.sum() Method to Calculate Sum Along Column Axis
import pandas as pd
df = pd.DataFrame({'X':
[1,2,3,4,5],
'Y': [1, 2, 3,4,5],
'Z': [3,4,5,6,3]})
print("DataFrame:")
print(df)
sums=df.sum()
print("Column-wise Sum:")
print(sums)
Output:
DataFrame:
X Y Z
0 1 1 3
1 2 2 4
2 3 3 5
3 4 4 6
4 5 5 3
Column-wise Sum:
X 15
Y 15
Z 21
dtype: int64
It calculates the sum for all the columns X, Y, and Z and finally returns a Series object with the sum of each column.
To find the sum of a particular column of DataFrame in Pandas, you need to call the sum() function for that column only.
import pandas as pd
df = pd.DataFrame({'X':
[1,2,3,4,5],
'Y': [1, 2, 3,4,5],
'Z': [3,4,5,6,3]})
print("DataFrame:")
print(df)
sums=df["Z"].sum()
print("Sum of values of Z-column:")
print(sums)
Output:
DataFrame:
X Y Z
0 1 1 3
1 2 2 4
2 3 3 5
3 4 4 6
4 5 5 3
Sum of values of Z-column:
21
It only gives the sum of values of column Z of DataFrame.
Example Codes: DataFrame.sum() Method to Find Sum Along Row Axis
import pandas as pd
df = pd.DataFrame({'X':
[1,2,3,4,5],
'Y': [1, 2, 3,4,5],
'Z': [3,4,5,6,3]})
print("DataFrame:")
print(df)
sums=df.sum(axis=1)
print("Row-wise sum:")
print(sums)
Output:
DataFrame:
X Y Z
0 1 1 3
1 2 2 4
2 3 3 5
3 4 4 6
4 5 5 3
Row-wise sum:
0 5
1 8
2 11
3 14
4 13
dtype: int64
It calculates the sum for all the rows and finally returns a Series object with the sum of each row.
To find the sum of a particular row of DataFrame in Pandas, you need to call the sum() function for that specific row only.
import pandas as pd
df = pd.DataFrame({'X':
[1,2,3,4,5],
'Y': [1, 2, 3,4,5],
'Z': [3,4,5,6,3]})
print("DataFrame:")
print(df)
sum_3=df.iloc[[2]].sum(axis=1)
print("Sum of values of 3rd Row:")
print(sum_3)
Output:
DataFrame:
X Y Z
0 1 1 3
1 2 2 4
2 3 3 5
3 4 4 6
4 5 5 3
Sum of values of 3rd Row:
2 11
dtype: int64
It only gives the sum of values of the 3rd row of DataFrame.
Use the iloc method to select rows based on the index.
Example Codes: DataFrame.sum() Method to Find the Sum Ignoring NaN Values
Use the default value of the skipna parameter i.e. skipna=True to find the sum of DataFrame along the specified axis, ignoring NaN values.
import pandas as pd
df = pd.DataFrame({'X':
[1,None,3,4,5],
'Y': [1, None, 3,None,5],
'Z': [3,4,5,6,3]})
print("DataFrame:")
print(df)
sums=df.sum()
print("Column-wise Sum:")
print(sums)
Output:
DataFrame:
X Y Z
0 1.0 1.0 3
1 NaN NaN 4
2 3.0 3.0 5
3 4.0 NaN 6
4 5.0 5.0 3
Column-wise Sum:
X 13.0
Y 9.0
Z 21.0
dtype: float64
If you set skipna=True, you’ll get NaN values of sums if the DataFrame has NaN values.
import pandas as pd
df = pd.DataFrame({'X':
[1,None,3,4,5],
'Y': [1, None, 3,None,5],
'Z': [3,4,5,6,3]})
print("DataFrame:")
print(df)
sums=df.sum(skipna=False)
print("Column-wise Sum:")
print(sums)
Output:
DataFrame:
X Y Z
0 1.0 1.0 3
1 NaN NaN 4
2 3.0 3.0 5
3 4.0 NaN 6
4 5.0 5.0 3
Column-wise Sum:
X NaN
Y NaN
Z 21.0
dtype: float64
Here, you get the NaN value for the sum of columns X and Y as both of them have the NaN values in them.
Example Codes: Set min_count in DataFrame.sum() Method
import pandas as pd
df = pd.DataFrame({'X':
[1,None,3,4,5],
'Y': [1, None, 3,None,5],
'Z': [3,4,5,6,3]})
print("DataFrame:")
print(df)
sums=df.sum(min_count=4)
print("Column-wise Sum:")
print(sums)
Output:
DataFrame:
X Y Z
0 1.0 1.0 3
1 NaN NaN 4
2 3.0 3.0 5
3 4.0 NaN 6
4 5.0 5.0 3
Column-wise Sum:
X 13.0
Y NaN
Z 21.0
dtype: float64
Here, you get the NaN value for the sum of column Y as column Y has only 3 non- NaN values, which is less than the value of the min_count parameter.