【发布时间】:2016-11-24 16:55:18
【问题描述】:
我有两个看起来像这样的数据框
df1
name ID abb
0 foo 251803 I
1 bar 376811 R
2 baz 174254 Q
3 foofoo 337144 IRQ
4 barbar 306521 IQ
df2
abb comment
0 I fine
1 R repeat
2 Q other
我正在尝试使用 pandas merge 加入两个数据帧,并通过以下方式将第二个数据帧中的 comment 列基于 abb 列分配给第一个数据帧:
df1.merge(df2, how='inner', on='abb')
导致:
name ID abb comment
0 foo 251803 I fine
1 bar 376811 R repeat
2 baz 174254 Q other
这适用于abb 中唯一的一个字母标识符。但是,对于不止一个角色,它显然失败了。
我尝试在第一个数据框中的abb 列上使用list,但这会导致KeyError。
我想做的是以下。
1) 将该列中包含多个字符的行分成几行
2) 合并数据框
3) 可选:再次合并行
【问题讨论】: