我有兩個數據幀,看起來像這樣合併兩個數據幀多個值
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
我試圖用熊貓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)任選地:聯合再次行
列來作爲我上面列出。所以我不需要加入他們。但是,我不能在'IRQ'上使用分割來將字符串分成'I','R'和'Q'來使用堆棧來獲得三列。 – Fourier
對不起,請參閱編輯。 – jezrael
非常有見地的答案。非常感謝你。我已經列出了名單,但沒有使用這裏的帽子戲法。 – Fourier