Python Pandas Series.str.rfind()
Python是一种进行数据分析的伟大语言,主要是因为以数据为中心的Python软件包的奇妙生态系统。Pandas就是这些包中的一个,它使导入和分析数据更加容易。
Pandas str.rfind()方法是用来从右边搜索一个系列中的每个字符串的子串。如果找到该字符串,它将返回其出现的最高索引。如果没有找到字符串,它将返回-1。
也可以通过起点和终点来搜索字符串的一个特定部分,以寻找所传递的字符或子串。
语法: Series.str.rfind(sub, start=0, end=None)
参数:
sub:要在系列文本值中搜索的字符串或字符
start: int值,搜索的起始点。默认为0,表示从字符串的开头开始。
end: int值,需要停止搜索的终点。默认为无。
返回类型:系列,具有子串发生的最高索引位置
在下面的例子中,所使用的数据框包含一些NBA球员的数据。下面是数据框在任何操作之前的图像。
例子#1:寻找单个字符
在这个例子中,使用str.rfind()方法在Name列的每个字符串中从右边搜索一个单字符’r’。开始和结束参数保持默认。返回的系列被存储在一个新的列中,这样就可以通过直接查找来比较索引。在应用此方法之前,使用.dropna()删除空行以避免错误。
# importing pandas module
import pandas as pd
# reading csv file from url
data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/nba.csv")
# 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
输出:
如输出图片所示,Indexes列中出现的索引等于字符串中最后出现的字符的位置。如果该子串在文本中不存在,则返回-1。
例子#2:搜索子串(超过一个字符)。
在这个例子中,’ey’子串将在数据框架的Name列中被搜索到。开始参数保持为2,从第3个(索引位置2)元素开始搜索。
# importing pandas module
import pandas as pd
# reading csv file from url
data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/upload/nba.csv")
# 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
输出:
如输出图片所示,将返回子串出现的最高或最后索引。