You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何删除DataFrame指定列、处理剩余列后无重复恢复原列?

解决方法

你遇到的重复行问题,核心是用错了合并方式——append是按行追加,自然会让行数翻倍;merge/join如果没指定匹配规则,容易触发笛卡尔积导致重复。其实因为df和df2本来就是从同一个数据集拆分出来的,索引完全对应,直接用以下两种简单方法就能精准合并:

方法1:直接将df2的列赋值回处理后的df

这是最省事的方式,列名本来就对应,直接把df2的列塞回去就行:

# 处理完df的操作后执行
df[['col2', 'col3']] = df2

方法2:用pd.concat按列合并

如果不想修改原df,就用concat按列(axis=1)拼接,索引会自动匹配对应行:

import pandas as pd

# 处理完df的操作后执行
final_df = pd.concat([df, df2], axis=1)

注意事项

如果处理df的过程中修改过索引(比如重置索引、删除过行),要先同步两者的索引再合并:

# 重置索引,确保df和df2的行一一对应
df = df.reset_index(drop=True)
df2 = df2.reset_index(drop=True)

# 再执行合并操作
final_df = pd.concat([df, df2], axis=1)

内容的提问来源于stack exchange,提问作者prof31

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 05:25:30