Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total



GitHub Contribution
Loading data ...
관리 메뉴

초보 개발자의 일기

Pandas - Merge 본문

소소한 공부 일기/데이터 분석

Pandas - Merge

Da다 2021. 5. 9. 15:49

병합

데이터프레임 간 결합이나 병합 형태의 연산을 말한다.


Concat (데이터 합치기)

예시를 위해 데이터프레임을 생성한다.

df = pd.DataFrame(np.random.randn(10, 4))  # 랜덤값으로 예시용 df 생성
df

데이터를 분할한다.

pieces = [df[:3], df[3:7], df[7:]]  
pieces
[               0               1             2              3           
0    -0.448821   -1.977129   1.611909   -2.037749
1     2.444068   -1.851920   1.410597    0.031063
2     0.090880    3.285175  -0.362880   -1.425051,
                 0              1             2              3
3     1.171016   -0.572153  -0.219454   -0.197718
4     0.075812   -0.574685  -0.397964    1.105567
5    -0.396711   -0.064397  -0.996322    0.074714
6    -1.364405   -2.389199  -1.424785   -0.879030,
                 0              1             2               3
7    -0.162331    0.995537    0.579196   -1.646075
8     0.577053    0.417744    1.276863    0.820351
9    -0.582554   -1.416543    0.437710   -0.350845]

pd.concat(데이터명)으로 데이터를 합친다.

pd.concat(pieces) 


Merge

SQL방식의 결합이다.

10minutes to pandas에는 JOIN으로 되어있지만 편의상 메소드명인 Merge로 작성한다.

예시를 위한 데이터프레임을 추출한다.

left = pd.DataFrame({'key': ['foo', 'foo'], 'lval': [1, 2]})  # 데이터프레임 추출 (왼쪽)
left
right = pd.DataFrame({'key': ['foo', 'foo'], 'rval': [4, 5]}) # 데이터프레임 추출(오른쪽)
right

Key를 기준으로 합친다.

pd.merge(left, right, on='key')

또다른 예시를 위해 데이터 프레임 추출

left = pd.DataFrame({'key': ['foo', 'bar'], 'lval': [1, 2]})
left
right = pd.DataFrame({'key': ['foo', 'bar'], 'rval': [4, 5]})
right

Key를 기준으로 합치기

pd.merge(left, right, on='key')

 

 

 

10 minutes to pandas를 바탕으로 한 학습 기록입니다

'소소한 공부 일기 > 데이터 분석' 카테고리의 다른 글

Pandas - Reshaping  (0) 2021.05.09
Pandas - Grouping  (0) 2021.05.09
Pandas - Operations  (0) 2021.05.08
Pandas - Missing data  (0) 2021.05.08
Pandas - Selection  (0) 2021.05.08
Comments