在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列匹配,并删除不需要的列以获得最终结果。