pandas 기초 (3) - DATA FRAME 합치기

code_able·2023년 3월 11일
0
post-custom-banner

예제 데이터 프레임

[df1]
    a   b   c
0  a0  b0  c0
1  a1  b1  c1
2  a2  b2  c2
3  a3  b3  c3

[df2]
    a   b   c   d
2  a2  b2  c2  d2
3  a3  b3  c3  d3
4  a4  b4  c4  d4
5  a5  b5  c5  d5

행방향 합치기

# ignore_index 인덱스 재배열
pd.concat([df1,df2], ignore_index=True)

>>>
    a   b   c    d
0  a0  b0  c0  NaN
1  a1  b1  c1  NaN
2  a2  b2  c2  NaN
3  a3  b3  c3  NaN
2  a2  b2  c2   d2
3  a3  b3  c3   d3
4  a4  b4  c4   d4
5  a5  b5  c5   d5

열방향 합치기

pd.concat([df1,df2],axis=1)

>>>
     a    b    c    a    b    c    d
0   a0   b0   c0  NaN  NaN  NaN  NaN
1   a1   b1   c1  NaN  NaN  NaN  NaN
2   a2   b2   c2   a2   b2   c2   d2
3   a3   b3   c3   a3   b3   c3   d3
4  NaN  NaN  NaN   a4   b4   c4   d4
5  NaN  NaN  NaN   a5   b5   c5   d5

교집합 열방향 합치기

pd.concat([df1,df2],axis=1, join='inner')

>>>
    a   b   c   a   b   c   d
2  a2  b2  c2  a2  b2  c2  d2
3  a3  b3  c3  a3  b3  c3  d3

OUTER JOIN

pd.merge(df1,df2, how='outer', on='a')

>>>
    a  b_x  c_x  b_y  c_y    d
0  a0   b0   c0  NaN  NaN  NaN
1  a1   b1   c1  NaN  NaN  NaN
2  a2   b2   c2   b2   c2   d2
3  a3   b3   c3   b3   c3   d3
4  a4  NaN  NaN   b4   c4   d4
5  a5  NaN  NaN   b5   c5   d5

LEFT JOIN

pd.merge(df1,df2, how='left', on='a')

>>>
    a  b_x  c_x  b_y  c_y    d
0  a0   b0   c0  NaN  NaN  NaN
1  a1   b1   c1  NaN  NaN  NaN
2  a2   b2   c2   b2   c2   d2
3  a3   b3   c3   b3   c3   d3
4  a4  NaN  NaN   b4   c4   d4
5  a5  NaN  NaN   b5   c5   d5

append

df1.append(df1)

>>>
    a   b   c
0  a0  b0  c0
1  a1  b1  c1
2  a2  b2  c2
3  a3  b3  c3
0  a0  b0  c0
1  a1  b1  c1
2  a2  b2  c2
3  a3  b3  c3
profile
할수 있다! code able
post-custom-banner

0개의 댓글