當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。