반응형
다음 2 개의 데이터 프레임이 있습니다.
Example1
sku loc flag
122 61 True
123 61 True
113 62 True
122 62 True
123 62 False
122 63 False
301 63 True
Example2
sku dept
113 a
122 b
123 b
301 c
아래 데이터 프레임을 생성하기 위해 Pandas (또는 가장 적합한 Python 연산자)를 사용하여 병합 또는 조인 작업을 수행하고 싶습니다.
Example3
sku loc flag dept
122 61 True b
123 61 True b
113 62 True a
122 62 True b
123 62 False b
122 63 False b
301 63 True c
Both
df_Example1.join(df_Example2,lsuffix='_ProdHier')
df_Example1.join(df_Example2,how='outer',lsuffix='_ProdHier')
작동하지 않습니다. 내가 뭘 잘못하고 있죠?
해결 방법
left
병합을 수행하면 sku
열을 조인 할 열로 사용합니다.
In [26]:
df.merge(df1, on='sku', how='left')
Out[26]:
sku loc flag dept
0 122 61 True b
1 122 62 True b
2 122 63 False b
3 123 61 True b
4 123 62 False b
5 113 62 True a
6 301 63 True c
sku
가 실제로 색인이면 다음을 수행하십시오.
In [28]:
df.merge(df1, left_index=True, right_index=True, how='left')
Out[28]:
loc flag dept
sku
113 62 True a
122 61 True b
122 62 True b
122 63 False b
123 61 True b
123 62 False b
301 63 True c
또 다른 방법은 map
을 사용하는 것입니다. 두 번째 df의 색인으로 sku
를 설정하면 실제로 Series가되며 코드는 다음과 같이 단순화됩니다.
In [19]:
df['dept']=df.sku.map(df1.dept)
df
Out[19]:
sku loc flag dept
0 122 61 True b
1 123 61 True b
2 113 62 True a
3 122 62 True b
4 123 62 False b
5 122 63 False b
6 301 63 True c
참조 페이지 https://stackoverflow.com/questions/25493625
반응형
'파이썬' 카테고리의 다른 글
파이썬 csv 파일을 읽을 때 혼합 유형. 원인, 수정 및 결과 (0) | 2020.12.10 |
---|---|
파이썬 Python3 : 요청 라이브러리없이 JSON POST 요청 (0) | 2020.12.10 |
파이썬 ipython 노트북에 인쇄되지 않음 (0) | 2020.12.09 |
파이썬 날짜 시간을 POSIX 시간으로 변환 (0) | 2020.12.09 |
파이썬 Flask 개발 서버를 실행하면 왜 자체적으로 두 번 실행 되나요? (0) | 2020.12.09 |
댓글