【发布时间】:2018-10-12 01:29:53
【问题描述】:
我有两个数据框:
NAME base RED
3 % free 2.00
4 % freemem 0.10
5 sys1 freemem 0.20
和
NAME
0 sys1
1 sys2
还有其他列,也必须存在于输出数据框中,但它们不包含键值,为了描述的清晰,只保留了一个非键。
我想将它们合并在一起,为名称中的每个值形成“base”和“red”的排列。关键点是,如果 df2.NAME 中的值作为 df1.NAME 中的值出现,则在形成合并时应优先考虑该行。否则,'red' 的值应取自名称为 '%' 的行。
例如,对于上面的值,我希望输出看起来像:
NAME base RED
0 sys1 free 2.00
1 sys1 freemem 0.20
2 sys2 free 2.00
3 sys2 freemem 0.10
我可以考虑如何使用 apply 来执行此操作,但似乎应该可以使用合并操作来获得更好的性能。
感谢您的帮助。
【问题讨论】:
标签: python pandas dataframe merge