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


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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。