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


Python Pandas Series.str.findall()用法及代碼示例

Python是進行數據分析的一種出色語言,主要是因為以數據為中心的Python軟件包具有奇妙的生態係統。 Pandas是其中的一種,使導入和分析數據更加容易。

Pandas str.findall()方法還用於在係列的每個字符串中查找子字符串或分隔符。但這不同於str.find()方法。它不返回索引,而是返回帶有子字符串的list,並且list的大小是它發生的次數。

用法:Series.str.findall(pat, flags=0)

參數:
pat:要搜索的子字符串
flags:可以傳遞的正則表達式標誌(A,S,L,M,I,X),默認值為0,表示無。對於此正則表達式模塊(re)也必須導入。

返回類型:一係列列表(字符串)。


要下載代碼中使用的CSV,請點擊此處。在以下示例中,使用的 DataFrame 包含一些NBA球員的數據。下麵是任何操作之前的數據幀圖像。

範例1:搜索字符串中的字符

在此示例中,使用str.findall()方法在名稱列中搜索“ r”,並將輸出存儲在新列中。在執行任何操作之前,請使用.dropna()刪除空行以避免錯誤。

# importing pandas module  
import pandas as pd  
    
# making data frame  
data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/nba.csv")  
    
# removing null values to avoid errors  
data.dropna(inplace = True)  
  
# string to be searched for 
search ='r'
  
# returning values and creating column 
data["Findall(name)"]= data["Name"].str.findall(search) 
  
# display 
data.head(10)

輸出:
如輸出圖像所示,可以比較返回的“ e”的數量等於它在字符串中出現的時間。


範例2:搜索字符並傳遞IGNORECASE標誌

在此示例中,在“名稱”列中搜索“ a”,並傳遞了IGNORECASE標誌。為此,也必須導入模塊。從str.findall()方法返回的序列存儲在“新建”列中。

# importing pandas module  
import pandas as pd  
  
# importing regex module 
import re 
    
# making data frame  
data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/nba.csv")  
    
# removing null values to avoid errors  
data.dropna(inplace = True)  
  
# string to be searched for 
search ='a'
  
# returning values and creating column 
data["Findall(name)"]= data["Name"].str.findall(search, flags = re.I) 
  
# display 
data.head(10)

輸出:
如輸出圖像所示,在第一行中可以看到,自從傳遞IGNORECASE標誌(re.I)以來,都返回了“ A”和“ a”。



相關用法


注:本文由純淨天空篩選整理自Kartikaybhutani大神的英文原創作品 Python | Pandas Series.str.findall()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。