我有两个dfs
:
df_1
date id value
2021-01-01 A1 100
2021-01-01 A1 200
2021-01-01 A1 300
2021-01-02 A1 100
2021-01-02 A1 200
2021-01-03 A1 500
2021-01-03 A1 800
df_2
date id value_to_add
2021-01-01 A1 150
2021-01-03 A1 350
我试图保持df_1
的 struct ,并在合并过程中在第一次出现时添加value_to_add
,以便在用0
填充NaN
和除第一个值以外的所有值后,最终结果如下所示:
date id value value_to_add
2021-01-01 A1 100 150
2021-01-01 A1 200 0 # 0 because the 150 have been already added
2021-01-01 A1 300 0
2021-01-02 A1 100 0 # 0 because value_to_add does not exist
2021-01-02 A1 200 0
2021-01-03 A1 500 350
2021-01-03 A1 800 0 # 0 because the 350 have been already added
我的第一个 idea 是删除['date', 'id']
个子集的副本,然后将df_2
合并到其中,但我不确定如何回到df_1
的原始 struct .
所以问题是以下-being able to merge on the first occurrence of keys during 100 operation.我在这个话题上找不到任何东西,坦率地说,我不确定如何才能做到这一点.