2013-08-06 11 views
6

के साथ जोड़कर मेरे पास पांडा में दो श्रृंखलाएं हैं।पांडा में दो श्रृंखलाओं को उनके सूचकांक

श्रृंखला 1:

id  count_1 
1   3 
3   19 
4   15 
5   5 
6   2 

और श्रृंखला 2:

id  count_2 
1   3 
3   1 
4   1 
5   2 
6   1 

कैसे मैं नीचे के रूप में आईडी के साथ टेबल गठबंधन करते हैं?

id  count_1 count_2 
1   3  3 
3   19  1 
4   15  1 
5   5  2 
6   2  1 

उत्तर

12

आप concat उपयोग कर सकते हैं:

In [11]: s1 
Out[11]: 
id 
1  3 
3  19 
4  15 
5  5 
6  2 
Name: count_1, dtype: int64 

In [12]: s2 
Out[12]: 
id 
1  3 
3  1 
4  1 
5  2 
6  1 
Name: count_2, dtype: int64 

In [13]: pd.concat([s1, s2], axis=1) 
Out[13]: 
    count_1 count_2 
id 
1   3  3 
3  19  1 
4  15  1 
5   5  2 
6   2  1 

नोट: अगर इन DataFrame (बल्कि सीरीज की तुलना में) थे आप इस्तेमाल कर सकते हैं merge: इस के लिए

In [21]: df1 = s1.reset_index() 

In [22]: s1.reset_index() 
Out[22]: 
    id count_1 
0 1  3 
1 3  19 
2 4  15 
3 5  5 
4 6  2 

In [23]: df2 = s2.reset_index() 

In [24]: df1.merge(df2) 
Out[24]: 
    id count_1 count_2 
0 1  3  3 
1 3  19  1 
2 4  15  1 
3 5  5  2 
4 6  2  1 
+0

धन्यवाद - अपनी पहली में उदाहरण के लिए कॉल 1 में 'आईडी', 'count_1' और 'count_2' कॉल हेडिंग के नीचे पंक्ति में बैठता है - उन्हें एक ही पंक्ति में लाने के लिए क्या मैं बस आपके दूसरे उदाहरण का पालन करता हूं? – user7289

+0

आप reset_index का उपयोग कर सकते हैं, जो सूचकांक को कॉलम में से एक में ले जाता है। –

+0

@ user7289 यानी 'pd.concat ([s1, s2], axis = 1) .reset_index() ' –

संबंधित मुद्दे