📜  Python|熊猫系列.str.findall()

📅  最后修改于: 2022-05-13 01:54:20.408000             🧑  作者: Mango

Python|熊猫系列.str.findall()

Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。

Pandas str.findall()方法还用于在系列中的每个字符串中查找子字符串或分隔符。但它与 str.find() 方法不同。它不返回索引,而是返回带有子字符串的列表,列表的大小是它发生的次数。


要下载代码中使用的 CSV,请单击此处。在以下示例中,使用的数据框包含一些 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 标志

在此示例中,在 Name 列中搜索“a”并传递 IGNORECASE 标志。因为那个 re 模块也必须被导入。 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”都被返回。