Python | Pandas series . str . index()

原文:https://www . geesforgeks . org/python-pandas-series-str-index/

Python 是进行数据分析的优秀语言,主要是因为以数据为中心的 Python 包的奇妙生态系统。 【熊猫】 就是其中一个包,让导入和分析数据变得容易多了。

Pandas str.index() 方法用于搜索并返回序列中每个字符串的特定部分(开始和结束之间)的子字符串的最低索引。此方法的工作方式类似于 str.find() 但在未找到的情况下,str.index()给出的不是-1,而是一个 ValueError。

语法: Series.str.index(sub,start=0,end=None)

参数: 子:要在系列文本值中搜索的字符串或字符 开始:要在系列文本值中搜索的字符串或字符 结束:要在系列文本值中搜索的字符串或字符

返回类型:找到子串索引最少的序列。

要下载下例使用的数据集,点击这里的 在下面的例子中,使用的数据框包含了一些 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”不存在于每个字符串中,因此将返回值错误。若要处理错误,请尝试使用和 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,因此它必须转到 except case 并打印错误。