Python| Pandas Series.str.partition()
Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。
Pandas str.partition()
的工作方式与str.split()
类似。它不是在每次出现分隔符/定界符时拆分字符串,而是仅在第一次出现时拆分字符串。在 split函数中,分隔符不存储在任何地方,只有它周围的文本存储在新的列表/数据框中。但是在str.partition()
方法中,也存储了分隔符。
每次调用此方法之前都必须加上.str前缀,以将其与 Python 的默认函数区分开来,否则会引发错误。
Syntax: Series.str.partition(pat=’ ‘, expand=True)
Parameters:
pat: String value, separator or delimiter to separate string at. Default is ‘ ‘ (whitespace)
expand: Boolean value, returns a data frame with different value in different columns if True. Else it returns a series with list of strings. Default is True.
Return Type: Series of list or Data frame depending on expand Parameter
要下载代码中使用的 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() 方法删除了旧名称列。
新数据框-
带有添加列的数据框-