Python Pandas使用str.rsplit()将字符串反向分割成两个List/Column

Python Pandas使用str.rsplit()将字符串反向分割成两个List/Column

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

Pandas提供了一种方法,可以围绕传递的分隔符或定界符来分割字符串。之后,字符串可以作为一个列表存储在一个系列中,或者也可以用来从一个单一的分离的字符串创建多列数据框架。rsplit()的工作方式类似于.split()方法,但是rsplit()从右侧开始分割。当分隔符/定界符出现不止一次时,这个函数也很有用。

在调用这个方法之前,每次都要把.str作为前缀,以区别于Python的默认函数,否则就会出现错误。

语法:

Series.str.rsplit(pat=None, n=-1, expand=False)

参数:

  • pat:字符串值,分隔符或分界符,用于分隔字符串。
  • n:在一个字符串中进行最大分离的数字,默认为-1,表示全部。
  • expand:布尔值,如果为真,则返回一个在不同列中具有不同数值的数据框架。否则,它返回一个带有字符串列表的系列。

返回类型。列表系列或数据帧,取决于扩展 参数

在下面的例子中,使用的数据框包含一些NBA球员的数据。下面是数据框在任何操作之前的图像。

Python Pandas使用str.rsplit()将字符串反向分割成两个List/Column。

例子#1:将字符串从右侧分割成列表

在这个例子中,Team列中的字符串在每一次出现 “t “时都会被分割。n参数保持为1,因此同一字符串中的最大分割数为1。由于使用了rsplit(),字符串将从右侧被分割。

# 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)
  
# new data frame with split value columns
data["Team"]= data["Team"].str.rsplit("t", n = 1, expand = False)
  
# display
data

输出:
如输出图片所示,该字符串在 “Celtics “的 “t “处和 “Boston “的 “t “处被分割。这是因为分离是以相反的顺序进行的。由于expand参数被保留为False,所以返回的是一个列表。

Python Pandas使用str.rsplit()将字符串反向分割成两个List/Column。

例子#2:使用.rsplit()从字符串中制作独立的列

在这个例子中,Name列用空格(””)分隔,expand参数被设置为True,这意味着它将返回一个数据框架,所有分隔的字符串都在不同的列中。然后,该数据框架被用来创建新的列,旧的Name列被使用.drop()方法删除。

n参数被保留为1,因为也可能有中间名(字符串中超过一个空白)。在这种情况下,rsplit()很有用,因为它从右边开始计算,因此中间名字的字符串将包括在第一个名字列中,因为最大的分隔数是保持1。

# 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) 
    
# new data frame with split value columns 
new = data["Name"].str.split(" ", n = 1, expand = True) 
    
# making separate first name column from new data frame 
data["First Name"]= new[0] 
    
# making separate last name column from new data frame 
data["Last Name"]= new[1] 
    
# Dropping old Name columns 
data.drop(columns =["Name"], inplace = True) 
    
# df display 
data 

输出:
如输出图片所示,两个新的列被制作出来,旧的Name列被删除。

Python Pandas使用str.rsplit()将字符串反向分割成两个List/Column。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程