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

如何合并两个Pandas表格并保留所有值且按公共列有序排列

解决方法

你可以先通过外连接合并两个DataFrame保留所有A列取值,再对A列做升序排序即可实现需求,示例代码如下:

import pandas as pd

# 构造示例数据
df = pd.DataFrame([[1, 3], [2, 4],[2.5,1],[5,6],[7,8]], columns=['A', 'B'])
df2 = pd.DataFrame([[1],[2],[3],[4],[5],[6],[7],[8]], columns=['A'])

# 合并+排序+重置索引
result = pd.merge(df, df2, how='outer', on='A').sort_values('A').reset_index(drop=True)

代码说明

  • how='outer'外连接会保留两个表A列的所有取值,不会丢失df中独有的2.5对应的行
  • sort_values('A')会按A列的数值从小到大排序,解决外连接默认返回结果无序的问题
  • reset_index(drop=True)为可选配置,作用是把合并排序后混乱的行索引重置为从0开始的连续序列

执行上述代码得到的result就和你期望的输出完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 21:36:01