当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Pandas Series.str.find()用法及代码示例


Python是进行数据分析的一种出色语言,主要是因为以数据为中心的python软件包具有奇妙的生态系统。 Pandas是其中的一种,使导入和分析数据更加容易。

Pandas str.find()方法用于搜索序列中存在的每个字符串中的子字符串。如果找到该字符串,则返回其出现的最低索引。如果找不到字符串,它将返回-1。

也可以传递起点和终点,以在字符串的特定部分中搜索传递的字符或子字符串。


用法:Series.str.find(sub, start=0, end=None)

参数:
sub:要在系列文本值中搜索的字符串或字符
start:int值,搜索的起点。默认值为0,表示从字符串开头
end:int值,需要停止搜索的终点。默认为无。

返回类型:具有子字符串出现索引位置的系列

要下载代码中使用的CSV,请点击此处。

在以下示例中,使用的 DataFrame 包含一些NBA球员的数据。下面是任何操作之前的数据帧图像。


范例1:查找单个字符

在此示例中,使用str.find()方法在“名称”列的每个字符串中搜索单个字符“ a”。开始和结束参数保留默认值。返回的系列存储在新列中,以便可以通过直接查看来比较索引。在应用此方法之前,请使用.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 ='a'
  
# creating and passsing series to new column 
data["Indexes"]= data["Name"].str.find(sub) 
  
# display 
data

输出:
如输出图像所示,在Indexes列中出现index等于字符串中字符首次出现的位置。如果文本中不存在子字符串,则返回-1。通过查看第一行本身,也可以看出未考虑“ A”,这证明此方法区分大小写。


范例2:搜索子字符串(多个字符)

在此示例中,将在 DataFrame 的“名称”列中搜索“ er”子字符串。起始参数保留为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/uploads/nba.csv") 
   
# dropping null value columns to avoid errors 
data.dropna(inplace = True) 
  
  
# substring to be searched 
sub ='er'
  
# start var 
start = 2
  
# creating and passsing series to new column 
data["Indexes"]= data["Name"].str.find(sub, start) 
  
# display 
data

输出:
如输出图像中所示,返回子字符串出现的最小索引。但是可以看出,对于Terry Rozier(数据帧中的第9行),不是第一个出现的“ er”,而是返回了10。这是因为开始参数保留为2,而第一个“ er”在此之前出现。



相关用法


注:本文由纯净天空筛选整理自Kartikaybhutani大神的英文原创作品 Python | Pandas Series.str.find()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。