728x90
반응형
SMALL
  • pandas.concat(): concat()은 데이터를 합치는데 사용됩니다. axis=0은 위 아래로(세로로), axis=1은 왼쪽 오른쪽으로(가로로) 합치는 방법을 의미합니다.
python
# DataFrame 불러오기
df1 = pd.read_csv('http://bit.ly/ds-korean-idol')
df2 = pd.read_csv('https://bit.ly/ds-korean-idol-2')

# 두 데이터 프레임을 합치기
pd.concat([df1, df2], axis=0)

# 합친 데이터프레임의 index를 새로 설정
df_concat = pd.concat([df1, df2], sort=False)
df_concat.reset_index(drop=True)

# 두 개의 데이터프레임을 가로 방향으로 합치기
pd.concat([df1, df2], axis=1)

# 한 쪽 데이터프레임에서 일부 데이터 삭제 후, 다른 데이터 프레임과 결합하기
df3 = df2.drop([3, 5])
pd.concat([df1, df3], axis=1)

# 특정 값을 기준으로 데이터프레임 병합하기
merged_df = pd.merge(df1, df3, on='이름', how='left')
  • pandas.merge(): merge()는 특정 키(값이 서로 유일한 id)값을 기준으로 데이터를 합치는 메소드입니다. how 옵션을 이용해서 병합 기준을 정할 수 있습니다.
python
# 이름으로 기존 데이터프레임과 새 데이터 프레임을 병합하는 예시
df_right = df2.drop([1,3,5,7,9], axis=0)
df_right.reset_index(drop=True)
pd.merge(df1, df_right, on='이름', how='left')

# 새로운 데이터프레임 정보 추가 후, 병합하기
df_right = df_right.append({'이름': '김사과', '연봉': 5000, '가족수': 5}, ignore_index=True)
pd.merge(df1, df_right, on='이름', how='right')

# 두개 데이터프레임에서 컬럼명이 다를 경우, 오른쪽 데이터프레임 컬럼명 변경하며 병합하기
df_right.columns = ['성함', '연봉', '가족수']
pd.merge(df1, df_right, left_on='이름', right_on='성함', how='right')

이번 포스팅에서는 pandas를 이용하여 데이터프레임을 결합하는 방법에 대해서 알아보았습니다.

728x90
반응형
LIST

+ Recent posts