Python | Pandas Series.div()
Last Updated :
01 Oct, 2018
Python is a great language for doing data analysis, primarily because of the fantastic ecosystem of data-centric Python packages. Pandas is one of those packages and makes importing and analyzing data much easier.
Python Series.div()
is used to divide series or list like objects with same length by the caller series.
Syntax: Series.div(other, level=None, fill_value=None, axis=0)
Parameters:
other: other series or list type to be divided by the caller series
fill_value: Value to be replaced by NaN in series/list before division
level: integer value of level in case of multi index
Return type: Caller series with divided values
To download the data set used in following example, click here.
In the following examples, the data frame used contains data of some NBA players. The image of data frame before any operations is attached below.
Example #1: Dividing Series by list
In this example, the top 5 rows are stored in new variable using .head() method. After that a list of same length is created and the age column is divided by the list column using .div() method
import pandas as pd
short_data = data.head()
list = [ 1 , 2 , 3 , 4 , 5 ]
short_data[ "Divided Age values" ] = short_data[ "Age" ].div( list )
short_data
|
Output:
As shown in the output image, it can be compared that the Divided age value column is having the Divided values of (Age)/(list).
Example #2: Dividing series by series having null values
In this example, the Salary column is divided by the Age column. Since the salary column contains null values too, by default it returns NaN no matter what is divided. In this example, 200000 is passed to replace null values with 200000.
import pandas as pd
age = data[ "Age" ]
na = 200000
data[ "Divided values" ] = data[ "Salary" ].div(other = age, fill_value = na)
data.head( 10 )
|
Output:
As shown in the output image, the Divided values column has divided age column with 200000 in case of Null values.
Share your thoughts in the comments
Please Login to comment...