【发布时间】:2018-07-26 20:37:22
【问题描述】:
我有两个要根据列表字典中描述的关系加入的数据框,其中字典中的键引用 dfA idA 列中的 id,列表中的项目是 dfB idB 列中的 id。数据框和字典看起来像这样:
dfA
colA colB idA
0 a abc 3
1 b def 4
2 b ghi 5
dfB
colX idB colZ
0 bob 7 a
1 bob 7 b
2 bob 7 c
3 jim 8 d
4 jake 9 a
5 jake 9 e
myDict = { '3': [ '7', '8' ], '4': [], '5': ['7', '9'] }
如何使用 myDict 连接两个数据框以生成如下所示的数据框?
dfC
colA colB idA colX idB colZ
0 a abc 3 bob 7 a
1 b
2 c
3 jim 8 d
4 b def 4 None None None
5 b ghi 5 bob 7 a
6 b
7 c
8 jake 9 a
9 e
【问题讨论】:
-
你的字典中的'9'键应该是'5'吗?
-
好的,谢谢。我已经修正了错字。
-
输出错误,jim 的 idB 应该是 8,而不是 9,对吗?
-
是的,很抱歉。修正了错字。
-
我认为这里的重点不是格式,而是内容。万一你可以用我的回答的结果做这样的事情:
print(result.fillna('None').groupby(['colA', 'colB', 'idA', 'idB', 'colX', 'colZ']).size().to_string())然后摆脱右边的那些。