我有兩個Dataframes
類似如下:合併/ Concat的問題
數據幀1
ID VALUE DATE
1 google.com 12/28/2015
2 yahoo.com 12/28/2015
3 cnn.com 12/28/2015
4 facebook.com 12/28/2105
數據幀2
ID COMMENT
1 Bad Stuff
2 Good Stuff
3 Werid Stuff
4 Crazy Stuff
和期望的結果將在這裏
ID VALUE DATE COMMENT
1 google.com 12/28/2015 Bad Stuff
2 yahoo.com 12/28/2015 Good Stuff
3 cnn.com 12/28/2015 Weird Stuff
4 facebooo.com 12/28/2015 Crazy Stuff
看起來和se埃姆斯對我來說很簡單,但我無法弄清楚。我已經上下讀了熊貓文檔並搜索了SOF一段時間。
這就是我現在所擁有的。
#Now, let's try to merge this data using Pandas
indicatorPanda = pd.read_csv('/tmp/i.csv')
commentPanda = pd.read_csv(open('/tmp/e.csv', 'rU'), encoding='utf-8')
mergedPanda = pd.concat([indicatorPanda, commentPanda], axis=1)
mergedPanda.to_csv('/tmp/output.csv', index=False, header=False)
我來接近,但它看起來像concating上軸1仍然保持是第二個「ID」列在最後。
編輯: 所以我現在很接近,我用這:
mergedPanda = indicatorPanda.merge(commentPanda, on='id', how='left')
但是我有,因爲在Dataframe2
多行具有相同ID重複行的問題所以,現在,這裏就是我想要的我的最終結果是:
數據幀1
ID VALUE DATE
1 google.com 12/28/2015
2 yahoo.com 12/28/2015
3 cnn.com 12/28/2015
4 facebook.com 12/28/2105
數據幀2
ID COMMENT
1 Bad Stuff
1 Much Worse Stuff
2 Good Stuff
3 Werid Stuff
4 Crazy Stuff
和期望的結果將在這裏
ID VALUE DATE COMMENT
1 google.com 12/28/2015 Bad Stuff | Much Worse Stuff
2 yahoo.com 12/28/2015 Good Stuff
3 cnn.com 12/28/2015 Weird Stuff
4 facebook.com 12/28/2015 Crazy Stuff
有沒有辦法只有CONCAT評論到對方有某種性格?我知道我們已經脫離了常規SQL和熊貓的境界。
謝謝,這是「工作」 - 但我有重複問題。無論DataFrame 2出現多少次,我都希望項目被添加到DataFrame 1中行的末尾。這可能嗎? – gleb1783
這聽起來像你想做一個'左'合併?查看更新的答案。您可以指定在'sql'邏輯之後執行'inner'(默認),'right','left'或'outer' join。 – Stefan
這似乎並不奏效:mergedPanda = pd。合併(indicatorPanda,commentPanda,on ='id',how ='left') – gleb1783