PANDAS 데이터 통합 및 재 구성(join/merge 편)
merge
pandas 의 merge 방법 은 SQL 과 유사 한 메모리 링크 작업 을 제공 합 니 다.홈 페이지 문 서 는 다른 오픈 소스 언어의 데이터 조작(예 를 들 어 R)보다 성능 이 효율 적 이 라 고 언급 했 습 니 다.
SQL 문장 과 비교 하면 볼 수 있 습 니 다여기,이곳
merge 의 인자
on:열 이름,join 이 정렬 하 는 열 이름 입 니 다.이 매개 변 수 를 사용 할 때 왼쪽 표 와 오른쪽 표 가 정렬 하 는 열 에 똑 같은 열 이름 이 있 도록 해 야 합 니 다.
left_on:왼쪽 표 가 정렬 된 열 은 열 이름 일 수도 있 고 dataframe 과 같은 길이 의 arrays 일 수도 있 습 니 다.
right_on:오른쪽 표 가 정렬 된 열 은 열 이름 일 수도 있 고 dataframe 과 같은 길이 의 arrays 일 수도 있 습 니 다.
left_index/ right_index:True 의 haunted 라면 index 를 정렬 한 key 입 니 다.
how:데이터 융합 방법.
sort:dataframe 에 합 쳐 진 keys 는 사전 순서대로 정렬 합 니 다.기본 값 은 false 를 설정 하면 표현 을 향상 시 킬 수 있 습 니 다.
merge 의 기본 병합 방법:
merge 는 표 내부 에서 index-on-index 와 index-on-column(s)의 합병 을 기반 으로 하지만 기본 값 은 index 를 기반 으로 합 쳐 집 니 다.
1.1 복합 키 의 합병 방법
merge 를 사용 할 때 여러 개의 key 를 복합 으로 선택 하여 병합 을 정렬 할 수 있 습 니 다.
1.1.1 on 을 통 해 지정 한 데 이 터 를 합 쳐 정렬 한 열
In [41]: left = pd.DataFrame({'key1': ['K0', 'K0', 'K1', 'K2'],
....: 'key2': ['K0', 'K1', 'K0', 'K1'],
....: 'A': ['A0', 'A1', 'A2', 'A3'],
....: 'B': ['B0', 'B1', 'B2', 'B3']})
....:
In [42]: right = pd.DataFrame({'key1': ['K0', 'K1', 'K1', 'K2'],
....: 'key2': ['K0', 'K0', 'K0', 'K0'],
....: 'C': ['C0', 'C1', 'C2', 'C3'],
....: 'D': ['D0', 'D1', 'D2', 'D3']})
....:
In [43]: result = pd.merge(left, right, on=['key1', 'key2'])
how 가 지정 되 지 않 으 면 기본적으로 inner 방법 을 사용 합 니 다.
how 의 방법 은 다음 과 같다.
left
왼쪽 표 의 모든 데이터 만 저장 합 니 다.
In [44]: result = pd.merge(left, right, how='left', on=['key1', 'key2'])
right
오른쪽 표 의 모든 데이터 만 유지 합 니 다.
In [45]: result = pd.merge(left, right, how='right', on=['key1', 'key2'])
outer
두 표 의 모든 정 보 를 저장 합 니 다.
In [46]: result = pd.merge(left, right, how='outer', on=['key1', 'key2'])
inner
두 표 의 공공 부분 만 유지 합 니 다.
In [47]: result = pd.merge(left, right, how='inner', on=['key1', 'key2'])
1.2 indicator
v 0.17.0 버 전의 pandas 는 처음에 indicator 의 인 자 를 지원 합 니 다.True 를 설치 할 때 출력 결 과 는 열 이 증가 합 니 다.'merge'。_merge 열 은 세 개의 값 을 얻 을 수 있 습 니 다.
dataframe 에 내 장 된 join 방법 은 빠 른 합병 방법 입 니 다.이것 은 기본적으로 index 를 정렬 한 열 로 합 니 다.
1.3.1 매개 변수
join 의 how 매개 변 수 는 merge 의 how 매개 변수 와 마찬가지 로 표 통합 보존 데 이 터 를 지정 하 는 규칙 입 니 다.
구체 적 으로 앞의 how 설명 을 볼 수 있다.
1.3.2 매개 변수
실제 응용 에서 오른쪽 표 의 색인 값 이 왼쪽 표 의 한 열 값 이 라면 오른쪽 표 의 색인 과 왼쪽 표 의 열 을 정렬 하여 합 치 는 유연 한 방식 으로 합 칠 수 있 습 니 다.
ex 1
In [59]: left = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
....: 'B': ['B0', 'B1', 'B2', 'B3'],
....: 'key': ['K0', 'K1', 'K0', 'K1']})
....:
In [60]: right = pd.DataFrame({'C': ['C0', 'C1'],
....: 'D': ['D0', 'D1']},
....: index=['K0', 'K1'])
....:
In [61]: result = left.join(right, on='key')
1.3.3 suffix 접미사 파라미터
표 와 합병 하 는 과정 에서 두 개의 표 가 같은 이름 이지 만 값 이 다 르 면 합병 할 때 모두 보존 하고 싶 으 면 suffixes 로 표 마다 중복 열 이름 에 접 두 사 를 추가 할 수 있 습 니 다.
In [79]: result = pd.merge(left, right, on='k', suffixes=['_l', '_r'])
*또한 lsuffix 와 rsuffix 는 각각 왼쪽 표 의 접미사 와 오른쪽 표 의 접 두 사 를 지정 합 니 다.
1.4 여러 dataframe 조합
한 번 에 여러 개의 dataframe 을 조합 할 때 dataframe 의 목록 이나 tuple 요 소 를 입력 할 수 있 습 니 다.한 번 에 join 여러 개,한 번 에 여러 번 고민 해결~
In [83]: right2 = pd.DataFrame({'v': [7, 8, 9]}, index=['K1', 'K1', 'K2'])
In [84]: result = left.join([right, right2])
1.5 업데이트 테이블 의 nan 값
1.5.1 combine_first
한 표 의 nan 값 이 다른 표 의 같은 위치(같은 색인 과 같은 열)에서 찾 을 수 있다 면 combine데이터 업데이트
1.5.2 update
한 장의 표 에 있 는 데이터 로 다른 표 의 데 이 터 를 업데이트 하려 면 update 로 이 루어 질 수 있 습 니 다.
1.5.3 combine_first 와 update 의 차이
combine 사용first 는 왼쪽 표 의 nan 값 만 업데이트 합 니 다.업 데 이 트 는 왼쪽 표 의 모든 오른쪽 표 에서 찾 을 수 있 는 값 을 업데이트 합 니 다(두 표 의 위치 가 대응 합 니 다).
예시 코드 참조 출처―홈 페이지
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Curl Function 데이터 업데이트 사용이번 주제는'다양한 데이터 합작'에 관한 화제다.최근 클라우드 시대가 도래하면서 데이터 추출 방법과 보존지에 데이터를 업데이트하는 방법이 다양해졌다.클라우드 애플리케이션은 대부분 API의 데이터 추출 및 업데이트 방...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.