📅  最后修改于: 2023-12-03 14:50:52.847000             🧑  作者: Mango
有时候,我们需要对数据集中的一列文本数据进行拆分。例如,我们可能需要将一个人的姓名拆分成名和姓两列,或者将一个地址拆分成城市、州和邮政编码。
在 Pandas 中,我们可以使用 str.split()
函数来完成这个任务。这个函数可以将一个字符串拆分成多个字符串,并返回一个列表。我们可以把这个列表赋值给一个新的列,然后把这个新的列添加到数据集中。
下面是一个示例代码:
import pandas as pd
# 创建一个数据集
df = pd.DataFrame({'Name': ['John Smith', 'Jane Doe', 'Bob Johnson'],
'Address': ['123 Main St, Anytown USA 12345',
'456 Park Ave, Cityville USA 67890',
'789 Broadway, Bigcity USA 24680']})
# 拆分 Name 列,并将其转换为两列
name_split = df['Name'].str.split(' ', expand=True)
name_split.columns = ['First Name', 'Last Name']
# 拆分 Address 列,并将其转换为三列
address_split = df['Address'].str.split(', ', expand=True)
address_split.columns = ['Street Address', 'City', 'State Zip']
# 将拆分后的列与原数据集合并
df = pd.concat([df, name_split, address_split], axis=1)
# 删除原先的 Name 和 Address 列
df.drop(['Name', 'Address'], axis=1, inplace=True)
# 打印结果
print(df)
这个代码会将一个包含姓名和地址的数据集拆分成两个新的列,并将其添加到原始数据集中。
Pandas 中的 str.split()
函数是一个非常有用的工具,可以帮助我们快速地将一个字符串拆分成多个子字符串,并将其转换为新的列。这个函数不仅适用于数据集中的文本数据,还可以用于处理文件名、URL、XML 等其他类型的字符串。