📜  Python| Pandas Series.str.rindex()

📅  最后修改于: 2022-05-13 01:55:46.725000             🧑  作者: Mango

Python| Pandas Series.str.rindex()

Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。
Pandas str.rindex()方法用于在系列中每个字符串的特定部分(开始和结束之间)中搜索并返回子字符串的最高索引(从右侧开始)。此方法的工作方式与 str.find() 类似,但在未找到的情况下,str.rindex() 不会返回 -1,而是返回 ValueError。
注意:此方法与 str.index() 不同。 str.rindex() 用于反向搜索。如果子字符串在字符串中仅存在一次,则 str.index() 和 str.rindex() 的输出相同。

要下载以下示例中使用的数据集,请单击此处。
在以下示例中,使用的数据框包含一些 NBA 球员的数据。下面附上任何操作之前的数据帧图像。

示例 #1:当每个字符串中都存在子字符串时,查找最高索引
在此示例中,“e”作为子字符串传递。由于 'e' 存在于所有 5 个字符串中,因此返回它出现的最高索引。应用 index 和 rindex 方法,输出存储在不同的列中以进行比较。在应用任何操作之前,使用 .dropna() 方法删除了空行。

Python3
# 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)
 
# extracting 5 rows
short_data = data.head().copy()
 
# calling str.index() method
short_data["Index Name"]= short_data["Name"].str.index("e")
 
# calling str.rindex() method
short_data["Reverse Index Name"]= short_data["Name"].str.rindex("e")
 
# display
short_data


Python3
# 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)
 
# extracting 5 rows
short_data = data.head().copy()
 
# calling str.rindex() method
try:
    short_data["Index Name"]= short_data["Name"].str.rindex("a")
except Exception as err:
    print(err)
     
 
# display
short_data


输出:
如输出图像所示,可以比较 .index() 方法返回的索引最小,而 str.rindex() 方法返回的索引最高。


示例 #2:
在此示例中,在前 5 行中搜索“a”。由于 'a' 不存在于每个字符串中,因此将返回值错误。要处理错误,请使用 try 和 except。

Python3

# 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)
 
# extracting 5 rows
short_data = data.head().copy()
 
# calling str.rindex() method
try:
    short_data["Index Name"]= short_data["Name"].str.rindex("a")
except Exception as err:
    print(err)
     
 
# display
short_data

输出:
如输出图像所示,输出数据框没有索引名称列,并且打印了错误“未找到子字符串”。那是因为 str.rindex() 在未找到时返回 ValueError ,因此它必须转到除了 case 并打印错误。