코드 정리/코드 정리 - Python

이름이 변경된 지역 데이터 병합

분석가 황규진 2024. 8. 14. 09:23

지역 두개를 병합하여 새로운 행 추가

 

import pandas as pd

def sum_rows(year, region, df, regions):
    new_row = (
        df.loc[
        # 조건
            (df['년도'] == year) &
            (df['시군구'].isin(regions))
            # 가져올 열
        ][['노인비율', '노인수', '총인구']]
        .apply(pd.to_numeric, errors='coerce').sum()
    )

    new_row['시군구'] = region
    new_row['년도'] = year

    df.drop(selected_rows.index, inplace=True)
    # 정렬
    new_row = new_row[['년도', '시군구', '노인비율', '노인수', '총인구']]
    return new_row

# 행 추가(.to_frame().T 를 활용해서 전치)
ingusu = pd.concat([ingusu, sum_rows(2012, '충북 청주시', ingusu, ['충북 충북 청원군', '충북 충북 청주시']).to_frame().T], ignore_index=True)