使用 Python 字典过滤 pandas df 中的唯一匹配项

Using Python dictionary to filter unique matches in a pandas df

我有一个像这样的 df:

df = DataFrame({'CODE': ['AB12', 'AB12', 'CD12', 'CD12', 'CD14', 'CD14'], 'DATE': ['2021-02-01', '2021-03-06', '2021-02-01', '2021-03-06', '2021-02-01', '2021-03-06'], 'VALUE':[0,4,5,5,0,0]})

CODE    DATE        VALUE
AB12    2021-02-01   0
AB12    2021-03-06   4
CD12    2021-02-01   5
CD12    2021-03-06   5
CD14    2021-02-01   0
CD14    2021-03-06   0

我需要能够从原始 df 中提取非常具体的记录对,基于 CODEDATE

所以,我的最终输出应该是这样的:

CODE    DATE    VALUE
AB12    2021-02-01  0
CD12    2021-03-06  5
CD14    2021-03-06  0

我做了一些研究,发现我可以通过使用像下面这样的字典来实现它:

my_filter = {'CODE':['AB12','CD12','CD14'], 'DATE':['2021-02-01','2021-03-06','2021-03-06']}

然后使用过滤:

res = df[df.isin(my_filter).sum(1) == 2]

问题是,当我尝试这个时,结果似乎 return CODEDATE 的所有可能组合,大概是因为它正在评估是否有任何一个值在 CODE 或 DATE 中出现在每个实例中。

res

    CODE    DATE    VALUE
0   AB12    2021-02-01  0
1   AB12    2021-03-06  4
2   CD12    2021-02-01  5
3   CD12    2021-03-06  5
4   CD14    2021-02-01  0
5   CD14    2021-03-06  0

我如何创建一个字典来将每个 CODE 与相应的 DATE 配对? 谢谢

尝试 merge:

df.merge(pd.DataFrame(my_filter), on=['CODE','DATE'])

输出:

   CODE        DATE  VALUE
0  AB12  2021-02-01      0
1  CD12  2021-03-06      5
2  CD14  2021-03-06      0