pandas 데이터 통합 및 재 구축(pd.concat 편)

1 concat
concat 함 수 는 pandas 아래 의 방법 으로 데 이 터 를 서로 다른 축 에 따라 간단하게 융합 시 킬 수 있 습 니 다.

pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,
    keys=None, levels=None, names=None, verify_integrity=False)
매개 변수 설명 
  • obj:series,dataframe 또는 panel 로 구 성 된 시퀀스 lsit 
  • axis:링크 를 합 쳐 야 하 는 축,0 은 줄,1 은 열  join:연결 방식 inner 또는 outer다른 일부 매개 변 수 는 자주 사용 되 지 않 으 므 로 사용 할 때 다시 설명 을 보충 합 니 다.
    1.1 같은 필드 의 표 의 앞 뒤 가 서로 연결 되 어 있다.
    
    #      list,     concat   
    In [4]: frames = [df1, df2, df3]
     
    In [5]: result = pd.concat(frames)
    연결 할 때 하나의 차원 의 key 를 더 해서 데이터 가 어느 표 에서 기원 되 었 는 지 식별 하려 면 key 파 라 메 터 를 추가 할 수 있 습 니 다.
    
    In [6]: result = pd.concat(frames, keys=['x', 'y', 'z'])
    효 과 는 다음 과 같다.

    1.2 가로 표 조합(줄 정렬)
    1.2.1 axis
    axis=1 일 때,concat 는 줄 을 정렬 한 다음,서로 다른 열 이름 의 두 장의 표를 합 친다
    
    In [9]: result = pd.concat([df1, df4], axis=1)

    1.2.2 join
    join 매개 변수의 속성 을 더 하면'inner'를 위해 두 표 의 교 집합 을 얻 을 수 있 고 outer 라면 두 표 의 집합 을 얻 을 수 있 습 니 다.
    
    In [10]: result = pd.concat([df1, df4], axis=1, join='inner')

    1.2.3 join_axes
    하면,만약,만약...axes 의 인자 가 들 어 오 면 그 축 에 따라 데 이 터 를 정렬 할 수 있 습 니 다. 
    예 를 들 어 df1 표 에 따라 데 이 터 를 정렬 하면 지정 한 df1 표 의 축 을 유지 하고 df4 의 시 계 를 연결 합 니 다.
    
    In [11]: result = pd.concat([df1, df4], axis=1, join_axes=[df1.index])

    1.3 append
    append 는 series 와 dataframe 의 방법 입 니 다.이 방법 을 사용 하면 기본적으로 열 을 따라 진행 합 니 다(axis=0,열 정렬).
    
    In [12]: result = df1.append(df2)

    1.4 index 를 무시 한 concat
    두 표 의 index 가 모두 실제 의미 가 없다 면 ignore 를 사용 하 십시오.index 매개 변 수 는 true 를 설정 하고 합 친 두 시 계 는 열 필드 에 따라 정렬 한 다음 에 합 친다.마지막 으로 새로운 index 를 다시 정리 합 니 다. 

    1.5 합병 과 동시에 데이터 그룹 을 구분 하 는 키 를 추가 합 니 다.
    앞에서 언급 한 keys 인 자 는 합 친 표 에 key 를 추가 하여 서로 다른 표 데이터 출처 를 구분 할 수 있 습 니 다.
    1.5.1 key 매개 변수 로 직접 실현 할 수 있 습 니 다.
    
    In [27]: result = pd.concat(frames, keys=['x', 'y', 'z'])

    1.5.2 그룹 키 를 추가 하기 위해 사전 을 입력 합 니 다.
    
    In [28]: pieces = {'x': df1, 'y': df2, 'z': df3}
    In [29]: result = pd.concat(pieces)

    1.6 dataframe 에 새 줄 추가
    append 방법 은 series 와 사전 으로 충분 한 데 이 터 를 dataframe 의 새로운 줄 로 삽입 할 수 있 습 니 다. 
    
    In [34]: s2 = pd.Series(['X0', 'X1', 'X2', 'X3'], index=['A', 'B', 'C', 'D'])
     
    In [35]: result = df1.append(s2, ignore_index=True)
    표 열 필드 의 다른 표 병합
    두 장의 표 의 열 필드 를 만나면 원래 다 르 지만 두 개의 표를 합 치 려 고 합 니 다.그 중 잘못된 값 은 nan 으로 표시 합 니 다.그럼 ignore 를 사용 할 수 있 습 니 다.index 로 구현.
    
    In [36]: dicts = [{'A': 1, 'B': 2, 'C': 3, 'X': 4},
      ....:     {'A': 5, 'B': 6, 'C': 7, 'Y': 8}]
      ....: 
     
    In [37]: result = df1.append(dicts, ignore_index=True)
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기