如何在Pandas中将拆分后的列插入到原列所在位置
将拆分后的姓名列插入到原Full Name列位置的简便方法
先执行你的拆分代码
import pandas as pd df[["First Name", "Last Name"]] = df["Full Name"].str.split(' ', 1, expand=True)
方法1:通过重构列顺序调整位置
先获取原Full Name列的索引位置:
full_name_idx = df.columns.get_loc("Full Name")
保留原Full Name列
把拆分出的两列放在原列后方,其余列顺序不变:
new_columns = ( df.columns[:full_name_idx].tolist() + ["Full Name", "First Name", "Last Name"] + df.columns[full_name_idx+1:-2].tolist() ) df = df[new_columns]
替换原Full Name列(不保留原列)
直接用新列替换原列的位置:
new_columns = ( df.columns[:full_name_idx].tolist() + ["First Name", "Last Name"] + df.columns[full_name_idx+1:-2].tolist() ) df = df[new_columns]
方法2:用pop+insert直接插入(更直观)
先把拆分后的列从末尾移出,再插入到指定位置:
# 弹出末尾的新列 first_name = df.pop("First Name") last_name = df.pop("Last Name") # 获取原Full Name列的位置 full_name_idx = df.columns.get_loc("Full Name") # 插入到原列的后方 df.insert(full_name_idx + 1, "First Name", first_name) df.insert(full_name_idx + 2, "Last Name", last_name)
如果不需要保留原Full Name列,先弹出原列再插入新列:
full_name_idx = df.columns.get_loc("Full Name") # 弹出原列和新列 df.pop("Full Name") first_name = df.pop("First Name") last_name = df.pop("Last Name") # 插入新列到原位置 df.insert(full_name_idx, "First Name", first_name) df.insert(full_name_idx + 1, "Last Name", last_name)
内容的提问来源于stack exchange,提问作者Biny Kan
相关产品推荐
相关产品推荐

