Pandas Series diff() Function:
Diff pandas: The diff() function of the Pandas Series gives the difference of a Series element compared with another element in the Series. The element in the previous row is the default.
Syntax:
Series.diff(periods=1)
Parameters
periods: This is Optional. This is the period for computing the difference. Negative values can also be used. 1 is the default.
Return Value:
The Series with the first (or given period) discrete difference of element is returned by the diff() function of the Pandas Series.
- Python Pandas Series abs() Function
- Python Pandas Series ge() Function
- Python Pandas Series ne() Function
Pandas Series diff() Function in Python
Example1
Approach:
- Import pandas module using the import keyword.
- Pass some random list as an argument to the Series() function of the pandas module to create a series.
- Store it in a variable.
- Print the above-given series.
- Apply diff() function on the given series to get the first discrete difference of elements present in the given series and print the result.
- Apply diff() function on the given series by passing 2 as an argument to it to get the second discrete difference of elements present in the given series and print the result.
- The Exit of the Program.
Below is the implementation:
# Import pandas module using the import keyword. import pandas as pd # Pass some random list as an argument to the Series() function # of the pandas module to create a series. # Store it in a variable. gvn_series = pd.Series([3.2, 4, 1.3, 5, 7.5]) # Print the above given series print("The given series is:") print(gvn_series) print() # Apply diff() function on the given series to get the # first discrete difference of elements present in the given series # and print the result. print("The first discrete difference of elements present in the given series:") print(gvn_series.diff()) print() # Apply diff() function on the given series by passing 2 as an argument to it # to get the second discrete difference of elements present in the given series # and print the result. print("The second discrete difference of elements present in the given series:") print(gvn_series.diff(2))
Output:
The given series is: 0 3.2 1 4.0 2 1.3 3 5.0 4 7.5 dtype: float64 The first discrete difference of elements present in the given series: 0 NaN 1 0.8 2 -2.7 3 3.7 4 2.5 dtype: float64 The second discrete difference of elements present in the given series: 0 NaN 1 NaN 2 -1.9 3 1.0 4 6.2 dtype: float64
Example2
Here, the diff() function is used on a specified series/columns of a DataFrame.
Approach:
- Import pandas module using the import keyword.
- Pass some random key-value pair(dictionary), index list as arguments to the DataFrame() function of the pandas module to create a dataframe.
- Store it in a variable.
- Print the given dataframe.
- Get the first discrete difference of elements present in the student_marks column of the dataframe using the diff() function and print the result
- The Exit of the Program.
Below is the implementation:
# Import pandas module using the import keyword. import pandas as pd # Pass some random key-value pair(dictionary), index list as arguments to the # DataFrame() function of the pandas module to create a dataframe # Store it in a variable. data_frme = pd.DataFrame({ "student_rollno": [1, 2, 3, 4, 5, 6], "student_marks": [75, 35, 25, 90, 80, 85]}, index= ["virat", "nick" , "jessy", "sindhu", "john", "mary"] ) # Print the given dataframe print("The given Dataframe:") print(data_frme) print() # Get the first discrete difference of elements present in the student_marks # column of the dataframe using the diff() function and print the result print("The first discrete difference of elements in student_marks column of the dataframe:") print(data_frme['student_marks'].diff())
Output:
The given Dataframe: student_rollno student_marks virat 1 75 nick 2 35 jessy 3 25 sindhu 4 90 john 5 80 mary 6 85 The first discrete difference of elements in student_marks column of the dataframe: virat NaN nick -40.0 jessy -10.0 sindhu 65.0 john -10.0 mary 5.0 Name: student_marks, dtype: float64