Python是进行数据分析的一种出色语言,主要是因为以数据为中心的Python软件包具有奇妙的生态系统。 Pandas是其中的一种,使导入和分析数据更加容易。
Pandas str.partition()的工作方式类似str.split()
。它不会在每次出现分隔符/定界符时都拆分字符串,而是拆分字符串仅在第一次出现时。在split函数中,分隔符不存储在任何地方,只有周围的文本存储在新的列表/ DataFrame 中。但是在str.partition()
方法中,分隔符也被存储。
每次都必须在.str前面加上前缀,才能调用此方法以区别于Python的默认函数,否则,它将引发错误。
用法:Series.str.partition(pat=’ ‘, expand=True)
参数:
pat:字符串值,分隔符或定界符,用于分隔字符串。默认值为“”(空格)
expand:布尔值,如果为True,则在不同的列中返回具有不同值的 DataFrame 。否则,它返回带有字符串列表的系列。默认值为True。
返回类型:列表或 DataFrame 的系列取决于展开参数
要下载代码中使用的CSV,请点击此处。
在以下示例中,使用的 DataFrame 包含一些员工的数据。下面是任何操作之前的数据帧图像。
范例1:将字符串拆分为列表
在此示例中,“名称”列在第一次出现“,”时被拆分。 expand参数保留为False,以将其扩展为列表而不是 DataFrame 。
# 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
输出:
如输出图像所示,“名称”列在首次出现“,”时被拆分为列表。可以看出,“,”也存储为list的单独元素。
注意:不要混淆列表中的两个逗号,一个是元素,另一个是元素分隔符。
范例2:将字符串拆分为 DataFrame
在此示例中,名字和姓氏与“名称”列分开,并存储在 DataFrame 中的单独列中。
# 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 seperate first name column from new data frame
data["First Name"]= new[2]
# making seperate 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
输出:
如输出图像中所示,“名称”列被分为一个具有3列的数据帧(逗号前为字符串,逗号后为字符串)。之后,该 DataFrame 用于在同一 DataFrame 中创建新列。使用.drop()方法删除了“旧名称”列。
新 DataFrame
具有添加列的 DataFrame -
相关用法
- Python pandas.map()用法及代码示例
- Python Pandas Timestamp.tz用法及代码示例
- Python Pandas Series.str.contains()用法及代码示例
- Python Pandas dataframe.std()用法及代码示例
- Python Pandas Timestamp.dst用法及代码示例
- Python Pandas dataframe.sem()用法及代码示例
- Python Pandas DataFrame.ix[ ]用法及代码示例
- Python Pandas.Categorical()用法及代码示例
- Python Pandas.apply()用法及代码示例
- Python Pandas TimedeltaIndex.contains用法及代码示例
- Python Pandas Timestamp.now用法及代码示例
- Python Pandas Series.str.pad()用法及代码示例
- Python Pandas Series.take()用法及代码示例
- Python Pandas dataframe.all()用法及代码示例
- Python Pandas series.str.get()用法及代码示例
注:本文由纯净天空筛选整理自Kartikaybhutani大神的英文原创作品 Python | Pandas Series.str.partition()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。