Python Pandas Series.str.find()

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值,需要停止搜索的终点。默认为无。
返回类型:系列,带有子串发生的索引位置
在下面的例子中,所使用的数据框包含一些NBA球员的数据。下面是数据框在任何操作之前的图像。

Python Pandas Series.str.find()

例子#1:寻找单个字符
在这个例子中,使用str.find()方法在Name列的每个字符串中搜索单个字符’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 passing series to new column
data["Indexes"]= data["Name"].str.find(sub)
 
# display
data

输出:
如输出图片所示,Indexes列中出现的索引等于字符串中第一个出现的字符的位置。如果该子串在文本中不存在,则返回-1。通过观察第一行本身也可以看出,’A’没有被考虑在内,这证明这个方法是大小写敏感的。

Python Pandas Series.str.find()

例子#2:搜索子串(超过一个字符)。
在这个例子中,’er’子串将在数据框架的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/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 passing series to new column
data["Indexes"]= data["Name"].str.find(sub, start)
 
# display
data

输出:
如输出图片所示,子串出现的最小索引被返回。但是我们可以看到,在Terry Rozier的案例中(数据框中的第9行),返回的不是第一个出现的’er’,而是10。这是因为开始参数被保留为2,而第一个’er’发生在这之前。

Python Pandas Series.str.find()

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程