【发布时间】:2020-05-22 20:52:32
【问题描述】:
我正在尝试将两个数据框合并在一起以创建一个简洁的数据框。第一个数据帧包含各种网络设备的所有可能名称。第二个数据帧包含实际存在的网络设备的名称,以及它们对应的硬件。
我需要将这两个数据帧合并在一起,以便将第一个数据帧中的设备名称与第二个数据帧中的设备名称进行“检查”,然后吐出相应的硬件,以便稍后进行进一步分析。
这是我正在做的事情的简化说明:
print(df1)
Router_Name Firewall_Name
0 router1 firewall1
1 router2 firewall2
2 router3 firewall3
3 router4 firewall4
print(df2)
Device_Name Hardware_Platform
0 router2 cisco111
1 router3 cisco222
2 firewall1 cisco333
3 firewall2 cisco444
这将是执行合并后我想要的结果:
print (df3)
Router_Name Hardware_Platform Firewall_Name Hardware_Platform
0 router1 N/A firewall1 cisco333
1 router2 cisco111 firewall2 cisco444
2 router3 cisco222 firewall3 N/A
3 router4 N/A firewall4 N/A
我尝试了很多命令,包括:
result = pd.concat([df1, df2], axis=1).reindex(df2.index)
print(result)
但这只会导致 df1 和 df2 相互堆叠。使用这种方法甚至可能吗?
【问题讨论】:
标签: python pandas dataframe merge concat