Python:Pandas dataframe 如何拆分某一列,将结果分别与另一列匹配?

示例展示了如何在PandasDataFrame中使用str.split()方法拆分full_name列,然后通过apply()和pd.Series转换结果,再利用merge()方法将拆分的数据与first_name列匹配,最终删除多余列,完成数据整理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Pandas DataFrame中,可以使用str.split()方法拆分某一列,并使用DataFrame的merge()方法将结果匹配到另一列中。下面是一个简单的示例:

import pandas as pd

# 创建示例DataFrame
df = pd.DataFrame({'full_name': ['John Smith', 'Jane Doe', 'Bob Johnson'],
                   'first_name': ['John', 'Jane', 'Bob'],
                   'last_name': ['Smith', 'Doe', 'Johnson']})

# 拆分full_name列
df['split_name'] = df['full_name'].str.split()

# 将拆分后的结果与first_name列匹配
df = df.merge(df['split_name'].apply(pd.Series).rename(columns={0: 'first_name', 1: 'last_name'}),
              on='first_name')

# 删除不需要的列
df = df.drop(['full_name', 'split_name'], axis=1)

# 输出结果
print(df)

输出:

  first_name last_name_x last_name_y
0       John       Smith       Smith
1       Jane         Doe         Doe
2        Bob     Johnson     Johnson

在上面的示例中,我们首先创建一个包含full_name、first_name和last_name列的DataFrame。然后,我们使用str.split()方法将full_name列拆分为一个新的列split_name。接下来,我们使用apply()方法和pd.Series来将拆分后的结果转换为DataFrame,并将第一个和第二个元素分别重命名为first_name和last_name。最后,我们使用merge()方法将拆分后的结果与first_name列匹配,并删除不需要的列以获得最终结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

devid008

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值