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

如何使用Pandas识别两个DataFrame中各自独有的等价编码值

实现代码

首先修正你初始代码里的参数错误(字符串类型字段不能指定dtype=float,会报错),完整可运行代码如下:

import pandas as pd 

# 构造第一个DataFrame
lst1 = [['AAA1', 'reacher', "doctor"], ['ZZZ2', 'pete', "nurse"],
       ['SSS3', 'wilson', "prof"], ]
df1 = pd.DataFrame(lst1, columns =['id', 'name', 'job'])

# 构造第二个DataFrame
lst2 = [['AAA1', 'reacher', "doctor"], ['MOIU8', 'koko', "nurse"],
       ['HYA1', 'andray', "prof"], ]
df2 = pd.DataFrame(lst2, columns =['pk', 'name', 'job'])

# 方式1:保留DataFrame关联逻辑,适合需要同步提取对应行其他字段的场景
## 需求1:仅在第一个DataFrame中存在的code
only_df1_code = df1[~df1['id'].isin(df2['pk'])]['id'].tolist()
print("仅在第一个表存在的code:", only_df1_code)

## 需求2:仅在第二个DataFrame中存在的code
only_df2_code = df2[~df2['pk'].isin(df1['id'])]['pk'].tolist()
print("仅在第二个表存在的code:", only_df2_code)

# 方式2:集合运算,仅需获取code值时更简洁
set_df1 = set(df1['id'])
set_df2 = set(df2['pk'])
print("仅在第一个表存在的code:", set_df1 - set_df2)
print("仅在第二个表存在的code:", set_df2 - set_df1)

运行结果

仅在第一个表存在的code: ['ZZZ2', 'SSS3']
仅在第二个表存在的code: ['MOIU8', 'HYA1']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 11:15:03