Python| Pandas Series.str.index()
Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。
Pandas str.index()
方法用于在系列中每个字符串的特定部分(开始和结束之间)中搜索并返回子字符串的最低索引。此方法的工作方式与 str.find() 类似,但在未找到的情况下,str.index() 不是返回 -1,而是返回 ValueError。
Syntax: Series.str.index(sub, start=0, end=None)
Parameters:
sub: String or character to be searched in the text value in series
start: String or character to be searched in the text value in series
end: String or character to be searched in the text value in series
Return type: Series with least index of substring if found.
要下载以下示例中使用的数据集,请单击此处。
在以下示例中,使用的数据框包含一些 NBA 球员的数据。下面附上任何操作之前的数据帧图像。
示例 #1:当每个字符串中都存在子字符串时查找索引
在此示例中,“e”作为子字符串传递。由于 'e' 存在于所有 5 个字符串中,因此返回其出现的最小索引。在应用任何操作之前,使用 .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)
# extracting 5 rows
short_data = data.head().copy()
# calling str.index() method
short_data["Index Name"]= short_data["Name"].str.index("e")
# display
short_data
输出:
如输出图像所示,“e”系列中的最小索引被返回并存储在新列中。
示例 #2:
在此示例中,在前 5 行中搜索“a”。由于 'a' 不存在于每个字符串中,因此将返回值错误。要处理错误,请使用 try 和 except。
# 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
try:
short_data["Index Name"]= short_data["Name"].str.index("a")
except Exception as err:
print(err)
# display
short_data
输出:
如输出图像所示,输出数据框没有索引名称列,并且打印了错误“未找到子字符串”。那是因为 str.index() 在未找到时返回 valueError ,因此它必须转到例外情况并打印错误。