2016-07-25 48 views
1

另一列給出一個數據幀的熊貓擁有它的幾個標記系列列值的,說名稱小人置一組基於在熊貓

假設數據幀具有值,例如:
名稱:{ '蝙蝠俠', '蝙蝠俠', '蜘蛛俠', '蜘蛛俠', '蜘蛛俠', '蜘蛛'}
小人:{」 Joker','Bane','Green Goblin','Electro','Venom','Octopus博士}

總共上述數據框有2個系列(或列),每個系列有6個數據點。

現在的基礎上,名稱,我想連接3列:名字,姓氏,LoveInterest到每個數據點。

結果增加了'布魯斯;韋恩;貓女'到名字爲蝙蝠俠的每一排。和'彼得;帕克; MaryJane「的名字稱爲蜘蛛俠。

最終結果應該是包含5列(系列)和6行的數據幀。

+0

在大熊貓這就是所謂的'merge' – maxymoo

回答

2

這是一個經典的內連接方案。在pandas,使用merge模塊級功能:

In [13]: df1 
Out[13]: 
     Name  Villain 
0  Batman   Joker 
1  Batman   Bane 
2 Spiderman Green Goblin 
3 Spiderman  Electro 
4 Spiderman   Venom 
5 Spiderman Dr. Octopus 

In [14]: df2 
Out[14]: 
    FirstName LastName LoveInterest  Name 
0  Bruce Wayne  Catwoman  Batman 
1  Peter Parker  MaryJane Spiderman 

In [15]: pd.DataFrame.merge(df1,df2,on='Name') 
Out[15]: 
     Name  Villain FirstName LastName LoveInterest 
0  Batman   Joker  Bruce Wayne  Catwoman 
1  Batman   Bane  Bruce Wayne  Catwoman 
2 Spiderman Green Goblin  Peter Parker  MaryJane 
3 Spiderman  Electro  Peter Parker  MaryJane 
4 Spiderman   Venom  Peter Parker  MaryJane 
5 Spiderman Dr. Octopus  Peter Parker  MaryJane 
+0

如果合併是不是在兩列,說姓名和性別,它仍然是相同的合併? – Yaitzme

+0

@Yaitzme這取決於你想要完成什麼。閱讀文檔,特別是如果您不熟悉SQL連接:http://pandas.pydata.org/pandas-docs/stable/merging.html#database-style-dataframe-joining-merging –

+0

完美適合我!謝謝! – Yaitzme