比较数据框中的两列字典,并添加列中不存在的键值对



我有一个数据框,它有两列"gw_mac_rssi"和"edge_gw_mac_rssi"。如何比较和添加不存在的"gw_mac_rssi"中的键值对?

df1:
mac             building    gw_mac_rssi                              edge_gw_mac_rssi
0010403bf0db    main        {'d827fc36gc0c':-45,'b827eb36fb0b':-67}  {'b827eb36fb0b':-82,'d827fc36gc0c':-82, 'c36gc0cd827f':-82}
bf0db0010403    south_tower {'ac233fc01111':-71,'ac233fc1113':-59}   {'ac233fc01111': -82, 'ac233fc01112': -82, 'ac233fc1113': -82} 

如何检查键的顺序与"edge_gw_mac_rssi"列和如果缺少键的顺序相同,如何根据组"mac"和"构建"列以相同的顺序替换从"edge_gw_mac_rssi"到"gw_mac_rssi"列的相同键值对?生成的数据框应为,

df2:
mac             building    gw_mac_rssi                                                    edge_gw_mac_rssi                              
0010403bf0db    main        {'b827eb36fb0b':-67, 'd827fc36gc0c':-45, 'c36gc0cd827f':-82}   {'b827eb36fb0b':-82,'d827fc36gc0c':-82, 'c36gc0cd827f':-82}
bf0db0010403    south_tower {'ac233fc01111':-71,'ac233fc01112': -82, 'ac233fc1113':-59}    {'ac233fc01111': -82, 'ac233fc01112': -82, 'ac233fc1113': -82} 

尝试使用

df['gw_mac_rssi'] = [{**y, **x} for x , y in zip(df['gw_mac_rssi'], df['edge_gw_mac_rssi'])]

最新更新