2013-08-06 2 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 

가 어떻게 아래를 형성하기 위해 IDS 따라 테이블을 결합 하는가?

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

감사합니다 - 처음에 예를 들어 col 1의 'id'는 'count_1'및 'count_2'열 제목 아래 행에 있습니다. 두 번째 예제를 따라하면 같은 행에있는 모든 항목을 가져올 수 있습니까? – user7289

+0

인덱스를 열 중 하나로 이동시키는 reset_index를 사용할 수 있습니다. –

+0

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

관련 문제