📜  Python| Pandas Series.str.partition()

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

Python| Pandas Series.str.partition()

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

Pandas str.partition()的工作方式与str.split()类似。它不是在每次出现分隔符/定界符时拆分字符串,而是仅在第一次出现时拆分字符串。在 split函数中,分隔符不存储在任何地方,只有它周围的文本存储在新的列表/数据框中。但是在str.partition()方法中,也存储了分隔符。

每次调用此方法之前都必须加上.str前缀,以将其与 Python 的默认函数区分开来,否则会引发错误。

要下载代码中使用的 CSV,请单击此处。

在以下示例中,使用的数据框包含一些员工的数据。下面附上任何操作之前的数据帧图像。


示例 #1:将字符串拆分为列表

在此示例中,名称列在第一次出现 ', ' 时被拆分。 expand 参数保持为 False 以将其扩展为列表而不是数据框。

# importing pandas module
import pandas as pd
  
# making data frame
data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/chicago.csv")
  
# removing null values if any to avoid errors
data.dropna(how ='all', inplace = True)
  
# displaying top 5 rows of data
data.head()
  
# splitting at ', ' into list
data["Name"]= data["Name"].str.partition(", ", False)
  
# display
data

输出:
如输出图像所示,名称列在第一次出现“,”时被拆分为列表。可以看出,',' 也被存储为列表的一个单独元素。

注意:不要被列表中的两个逗号混淆,一个是元素,另一个是元素分隔符。


示例 #2:将字符串拆分为数据框

在此示例中,名字和姓氏与名称列分开并存储在数据框中的单独列中。

# importing pandas module
import pandas as pd
  
# making data frame
data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/chicago.csv")
  
# removing null values if any to avoid errors
data.dropna(how ='all', inplace = True)
  
# displaying top 5 rows of data
data.head()
  
# splitting at ', ' into Data frame
new = data["Name"].str.partition(", ", True)
  
# making separate first name column from new data frame
data["First Name"]= new[2]
   
# making separate last name column from new data frame
data["Last Name"]= new[0]
   
# Dropping old Name columns
data.drop(columns =["Name"], inplace = True)
   
# df display
data

输出:
如输出图像所示,Name 列被分隔成一个具有 3 列的数据框(其中一列是逗号之前的字符串,另一列是逗号之后的字符串)。之后,该数据框用于在同一数据框中创建新列。使用 .drop() 方法删除了旧名称列。

新数据框-
带有添加列的数据框-