Pandas:DataFrame:데이터 합치기

Pywiki
둘러보기로 가기 검색하러 가기

판다스에 관한 정보들을 틀:Pandas:DataFrame을 통해 체계화하여 관리한다.

  1. Pandas:DataFrame:개요
  2. Pandas:DataFrame:구조 파악
    1. Pandas:DataFrame:데이터에 접근하기
  3. Pandas:DataFrame:구조 조작
    1. Pandas:DataFrame:구조 조작. 열 관련
    2. Pandas:DataFrame:데이터 합치기
    3. Pandas:DataFrame:데이터 통계
    4. Pandas:DataFrame:데이터 타입
    5. Pandas:DataFrame:데이터 조작(파생변수)
      1. Pandas:DataFrame:행 연산
  4. Pandas:DataFrame:다른 형태로 저장하고 불러오기
    1. Pandas:DataFrame:DataBase
  5. Pandas:DataFrame:활용
    1. 결측치 다루기:pandas
    2. 이창치 다루기:pandas
  6. Pandas:DataFrame:관련 에러

1 개요[편집 | 원본 편집]

다른 데이터프레임과 합치거나 데이터프레임에 리스트 붙이기, 데이터프레임에 사전 붙이기 등에 대해 다루는 문서.

열 추가 데이터프레임.insert(추가될 위치, "열이름", 붙일데이터)

보통 가장 뒤에 붙여 추가될 위치에 len(데이터프레임.columns)를 넣는다.

행 추가(리스트로) 열 갯수와 동일한 리스트를 행에 붙인다.

데이터프레임.loc["새로운인덱스"]=['값1', '값2', ...]

보통, 가장 뒤에 붙이기 위해 len(데이터프레임.index)을 넣는다.

행 추가(사전으로) 열 이름과 매칭시킨 사전을 붙인다.

데이터프레임.loc["새로운인덱스"]={"열이름1":'값1', '열이름2':'값2', ...}

2 가로로 합치기. 열 합치기.[편집 | 원본 편집]

기존 데이터에서 변수를 더 추가하는 경우.

당연한 이야기지만, 이 경우엔 행의 갯수가 같아야 한다.

2.1 DataFrame끼리. DataFrame 병합.[편집 | 원본 편집]

데이터프레임을 가로로 합치기.

의도 설명 방법
옆으로 붙이기 df = pd.concat([df, df2], axis=1)
기존 인덱스 무시하고 붙이기 인덱스를 무시하고 그냥 붙인다. concat에 ignore_index=True 옵션을 준다.
같은 인덱스를 사용하는 데이터의 열 추가. df = pd.merge(df1, df2, how='옵션', left_index=True, right_index=True)

df1을 왼쪽에, df2를 오른쪽에 붙인다.

옵션 의미
how
옵션 의미
inner 양쪽에 모두 있는 인덱스만 합친다.
outer 한쪽에만 있는 인덱스라도 합친다.
left 왼쪽 df의 인덱스를 기준으로 합친다.

(오른쪽 df의 인덱스 무시)

right 위와 동일한데 오른쪽 기준.
left_index = True 좌측의 인덱스 기준으로 합친다.
right_index = True 우측 기준. 거의 양쪽 다 True 옵션을 준다.
on 무엇을 기준으로 합칠 것인가. 디폴트는 'index'이다.

3 세로로 합치기. 행 합치기.[편집 | 원본 편집]

기존 데이터에서 데이터를 더 추가하는 경우.

당연한 이야기지만, 이 경우엔 열의 갯수가 같아야 한다.(행의 이름도 같아야 한다.)

3.1 DataFrame끼리. DataFrame 병합.[편집 | 원본 편집]

데이터프레임을 세로로 합치기.

의도 설명 방법
위아래로 붙이기 두 df를 아래로 이어붙이기.

df 목록은 리스트로 준다.

df = pd.concat([df, df2])