Pandas DataFrame - var() function
The Pandas DataFrame var() function returns the unbiased variance over the specified axis. The syntax for using this function is mentioned below:
Syntax
DataFrame.var(axis=None, skipna=None, level=None, ddof=1, numeric_only=None)
Parameters
axis |
Optional. Specify {0 or 'index', 1 or 'columns'}. If 0 or 'index', variances are generated for each column. If 1 or 'columns', variances are generated for each row. Default: 0 |
skipna |
Optional. Specify True to exclude NA/null values when computing the result. Default is True. |
level |
Optional. Specify level (int or str). If the axis is a MultiIndex (hierarchical), count along a particular level, collapsing into a Series. A str specifies the level name. |
ddof |
Optional. Specify Delta Degrees of Freedom. The divisor used in calculations is N - ddof, where N represents the number of elements. |
numeric_only |
Optional. Specify True to include only float, int or boolean data. Default: False |
Return Value
Returns variance of Series or DataFrame if a level is specified.
Example: using var() column-wise on whole DataFrame
In the example below, a DataFrame df is created. The var() function is used to get the variance for each column.
import pandas as pd import numpy as np df = pd.DataFrame({ "Bonus": [5, 3, 2, 4], "Salary": [60, 62, 65, 59]}, index= ["John", "Marry", "Sam", "Jo"] ) print("The DataFrame is:") print(df) #variance of all entries column-wise print("\ndf.var() returns:") print(df.var())
The output of the above code will be:
The DataFrame is: Bonus Salary John 5 60 Marry 3 62 Sam 2 65 Jo 4 59 df.var() returns: Bonus 1.666667 Salary 7.000000 dtype: float64
Example: using var() row-wise on whole DataFrame
To perform the operation row-wise, the axis parameter can be set to 1.
import pandas as pd import numpy as np df = pd.DataFrame({ "Bonus": [5, 3, 2, 4], "Salary": [60, 62, 65, 59]}, index= ["John", "Marry", "Sam", "Jo"] ) print("The DataFrame is:") print(df) #variance of all entries row-wise print("\ndf.var(axis=1) returns:") print(df.var(axis=1))
The output of the above code will be:
The DataFrame is: Bonus Salary John 5 60 Marry 3 62 Sam 2 65 Jo 4 59 df.var(axis=1) returns: John 1512.5 Marry 1740.5 Sam 1984.5 Jo 1512.5 dtype: float64
Example: using var() on selected column
Instead of whole DataFrame, the var() function can be applied on selected columns. Consider the following example.
import pandas as pd import numpy as np df = pd.DataFrame({ "Bonus": [5, 3, 2, 4], "Last Salary": [58, 60, 63, 57], "Salary": [60, 62, 65, 59]}, index= ["John", "Marry", "Sam", "Jo"] ) print("The DataFrame is:") print(df) #variance of single column print("\ndf['Salary'].var() returns:") print(df["Salary"].var()) #variance of multiple columns print("\ndf[['Salary', 'Bonus']].var() returns:") print(df[["Salary", "Bonus"]].var())
The output of the above code will be:
The DataFrame is: Bonus Last Salary Salary John 5 58 60 Marry 3 60 62 Sam 2 63 65 Jo 4 57 59 df['Salary'].var() returns: 7.0 df[['Salary', 'Bonus']].var() returns: Salary 7.000000 Bonus 1.666667 dtype: float64
❮ Pandas DataFrame - Functions