Open In App

Python | Pandas Series.str.rfind()

Last Updated : 23 Jun, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

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.
Pandas str.rfind() method is used to search a substring in each string present in a series from the Right side. If the string is found, it returns the highest index of its occurrence. If string is not found, it will return -1. 
Start and end points can also be passed to search a specific part of string for the passed character or substring.
 

Syntax: Series.str.rfind(sub, start=0, end=None)
Parameters: 
sub: String or character to be searched in the text value in series 
start: int value, start point of searching. Default is 0 which means from the beginning of string 
end: int value, end point where the search needs to be stopped. Default is None.
Return type: Series with Highest index position of substring occurrence 
 

To download the CSV used in code, 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: Finding single character
In this example, a single character ‘r’ is searched from the Right side in each string of Name column using str.rfind() method. Start and end parameters are kept default. The returned series is stored in a new column so that the indexes can be compared by looking directly. Before applying this method, null rows are dropped using .dropna() to avoid errors.
 

Python3




# importing pandas module
import pandas as pd
 
# reading csv file from url
  
# dropping null value columns to avoid errors
data.dropna(inplace = True)
 
# substring to be searched
sub ='r'
 
# creating and passing series to new column
data["Indexes"]= data["Name"].str.rfind(sub)
 
# display
data


Output: 
As shown in the output image, the occurrence of index in the Indexes column is equal to the position of Last occurrence of character in the string. If the substring doesn’t exist in the text, -1 is returned. 
 

  
Example #2: Searching substring (More than one character)
In this example, ‘ey’ substring will be searched in the Name column of data frame. The start parameter is kept 2 to start search from 3rd(index position 2) element. 
 

Python3




# importing pandas module
import pandas as pd
 
# reading csv file from url
  
# dropping null value columns to avoid errors
data.dropna(inplace = True)
 
 
# substring to be searched
sub ='ey'
 
# start var
start = 2
 
# creating and passing series to new column
data["Indexes"]= data["Name"].str.rfind(sub, start)
 
# display
data


Output: 
As shown in the output image, the highest or Last index of occurrence of substring is returned. 
 

 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads