2013-08-06 4 views

Antwort

12

können Sie concat verwenden:

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 

Hinweis: Wenn diese Datenrahmen waren (und nicht als Serie) Sie merge verwenden:

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

Dank für diese - in der ersten Beispiel: Die 'ID' in Spalte 1 befindet sich in der Zeile unter den Spalten 'count_1' und 'count_2'. Um alle in derselben Zeile zu erhalten, folge ich einfach deinem zweiten Beispiel. – user7289

+0

können Sie reset_index verwenden, wodurch der Index in eine der Spalten verschoben wird. –

+0

@ user7289 dh 'pd.concat ([s1, s2], Achse = 1) .reset_index()' –