Python Pandas Series.str.findall()

Python Pandas Series.str.findall()

Python是一种进行数据分析的伟大语言,主要是因为以数据为中心的Python软件包的奇妙生态系统。Pandas就是这些包中的一个,它使导入和分析数据变得更加容易。

Pandas str.findall()方法也用于在一个系列的每个字符串中寻找子串或分隔符。但是它与str.find()方法不同。它不是返回索引,而是返回包含子串的列表,列表的大小是它出现的次数。

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

参数:
pat:要搜索的子串
flags:可以传递的Regex标志(A, S, L, M, I, X),默认为0,表示无。为此,还必须导入雷格斯模块(re)。

返回类型:一系列的列表(字符串)。

在下面的例子中,所使用的数据框包含一些NBA球员的数据。下面是数据框在任何操作之前的图像。
Python Pandas Series.str.findall()

例子#1:搜索字符串中的字符

在这个例子中,使用str.findall()方法搜索name列中的’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’的数量与它在字符串中出现的次数相等。
Python Pandas Series.str.findall()

例子#2:搜索字符并传递IGNORECASE标志

在这个例子中,Name列被搜索为’a’,并通过IGNORECASE标志。为此,re模块也必须被导入。从str.findall()方法返回的系列被存储在一个New列中。

# 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’都被返回。
Python Pandas Series.str.findall()

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程