개발자식

[데이터 분석] Pandas, 통계 자료 분석 (3) 본문

Data/Python

[데이터 분석] Pandas, 통계 자료 분석 (3)

밍츠 2022. 3. 24. 01:03

10. 열 이름 변경

gu_df.rename(columns = {'강간(발생)':'강간',
                        '강도(발생)':'강도',
                        '살인(발생)':'살인',
                        '절도(발생)':'절도',
                        '폭력(발생)':'폭력'}, inplace=True) # inplace 옵션 == 덮어쓰기 여부

- 5대 범죄명 뒤에 "(발생)"은 의미가 없으므로 범죄명으로 변경해준다.

 

11. 인구 데이터 활용

 

11-1. 인구 데이터 불러오기

popul_df = pd.read_csv('pop_kor.csv', encoding='utf-8') # read_csv 는 encoding 옵션을 직접 지정해줄 수 있습니다. (utf-8, euc-kr, cp949)
popul_df.head()

 

11-2. 인구 데이터 합치기 (merge)

 

df : A, B라고 가정

방법 1) A.join(B) 

  • 가장 권장하는 방법
  • 순서가 섞여도 알아서 바뀐다
  • 조건 : A, B 인덱스 열이 동일해야 한다.

방법 2) pd.merge(A,B,left_on="구별", right_on="구이름", how="inner")

  • A의 기준열을 left_on에 써준다
  • B의 기준열을 right_on에 써준다.
  • how 종류 (어떻게 합칠지)
    • Database에서 유래
    • inner : default 값으로 공통 기준열 외에 다 날아간다.
    • left : A의 기준열 우선, B에 없을 시 NaN
    • right : B의 기준열 우선, A에 없을 시 NaN
    •  

방법 3) pd.concat([A,B],axis=1,join="inner")

  • 물리적으로 붙여준다.
  • axis=0 : default, 행방 향(위아래)으로 붙인다
  • axis=1 : 열 방향(좌우)으로 붙인다
  • join 옵션
    • outer : 합집합
    • inner : 교집합

 

인구 데이터 index 세팅

popul_df = pd.read_csv('pop_kor.csv', encoding='utf-8', index_col='구별')
popul_df = pd.read_csv('pop_kor.csv', encoding='utf-8').set_index('구별')
#둘다 가능

- 인덱스 기준으로 merge 하기 위해서 '구별' 행을 index로 설정한다.

 

join

gu_df = gu_df.join(popul_df)

- gu_df의 index를 기준으로 popul_df의 index 중 매칭 되는 값을 매긴다.

Comments