Pandas Series - skew() function
The Pandas Series skew() function returns the unbiased skew over the specified axis. The syntax for using this function is mentioned below:
Syntax
Series.skew(axis=None, skipna=None, level=None, numeric_only=None)
Parameters
axis |
Optional. Specify {0 or 'index'}. Specify axis for the function to be applied on. |
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 scalar. A str specifies the level name. |
numeric_only |
Optional. Specify True to include only float, int or boolean data. Default: False |
Return Value
Returns scalar or Series if a level is specified.
Example: using skew() on a Series
In the example below, the skew() function is used to get the skew of a given series.
import pandas as pd import numpy as np idx = pd.MultiIndex.from_arrays([ ['rand', 'rand', 'rand', 'rand', 'randn', 'randn', 'randn', 'randn']], names=['DataType']) x = pd.Series(np.append(np.random.rand(4), np.random.randn(4)), index=idx) print("The Series contains:") print(x) #skew of all values in the series print("\nx.skew() returns:") print(x.skew()) #skew of all values within given level print("\nx.skew(level='DataType') returns:") print(x.skew(level='DataType')) print("\nx.skew(level=0) returns:") print(x.skew(level=0))
The output of the above code will be:
The Series contains: DataType rand 0.241319 rand 0.355236 rand 0.750794 rand 0.194619 randn 0.371207 randn 0.334198 randn 0.770243 randn -0.320792 dtype: float64 x.skew() returns: -0.645085449738361 x.skew(level='DataType') returns: DataType rand 1.601614 randn -0.825233 dtype: float64 x.skew(level=0) returns: DataType rand 1.601614 randn -0.825233 dtype: float64
Example: using skew() on selected series in a DataFrame
Similarly, the skew() function can be applied on selected series/column of a given DataFrame. 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) #skew of all values of 'Salary' series print("\ndf['Salary'].skew() returns:") print(df["Salary"].skew())
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'].skew() returns: 0.8639187954496622
❮ Pandas Series - Functions