DS스쿨 스터디 노트 - EDA 인구 (진행중)

구너탱·2023년 5월 20일
0

EDA

목록 보기
6/6

인구

2. 데이터를 읽고 인구 소멸 지역 계산하기

경고 메세지 끄기

import warnings

warnings.filterwarnings(action="ignore")

기본 세팅


fillna()

nan 값 채우기

✏️입력

fillna_df.loc[2:4, ["A"]] = np.nan
fillna_df.loc[3:5, ["B"]] = np.nan
fillna_df.loc[4:7, ["C"]] = np.nan
fillna_df

💻출력

method: {'backfill', 'bfill', 'ffill', None}, default None

  • Method to use for filling holes in reindexed Series
  • pad / ffill: propagate last valid observation forward to next valid.
  • backfill / bfill: use next valid observation to fill gap.

✏️입력

# fillna_df.fillna(value=0)
fillna_df.fillna(method="pad") # axis = 0 으로 하면 가로축도 가능

💻출력

✏️입력

population = pd.read_excel("../data/07_population_raw_data.xlsx", header=1)
population.fillna(method="pad", inplace=True)
population


컬럼 이름 변경

population.rename(
    columns={
        "행정구역(동읍면)별(1)": "광역시도",
        "행정구역(동읍면)별(2)": "시도",
        "계": "인구수",
    }, inplace=True
)

소계 제거

.loc 사용해서 value 변경

pivot_table

소멸 비율 계산 & 소멸위기지역 칼럼 생성

소멸위기지역 조회 & ✨.index.get_level_values()✨

  • .index.get_level_values() vs .columns.get_level_values()[]

✏️입력

# 소멸위기지역 조회
pop[pop["소멸위기지역"] == True].index.get_level_values(1)

💻출력

Index(['고성군', '삼척시', '양양군', '영월군', '정선군', '평창군', '홍천군', '횡성군', '가평군', '양평군',
       '연천군', '거창군', '고성군', '남해군', '밀양시', '산청군', '의령군', '창녕군', '하동군', '함안군',
       '함양군', '합천군', '고령군', '군위군', '문경시', '봉화군', '상주시', '성주군', '영덕군', '영양군',
       '영주시', '영천시', '예천군', '울릉군', '울진군', '의성군', '청도군', '청송군', '동구', '영도구',
       '강화군', '옹진군', '강진군', '고흥군', '곡성군', '구례군', '담양군', '보성군', '신안군', '영광군',
       '영암군', '완도군', '장성군', '장흥군', '진도군', '함평군', '해남군', '화순군', '고창군', '김제시',
       '남원시', '무주군', '부안군', '순창군', '임실군', '장수군', '정읍시', '진안군', '공주시', '금산군',
       '논산시', '보령시', '부여군', '서천군', '예산군', '청양군', '태안군', '홍성군', '괴산군', '단양군',
       '보은군', '영동군', '옥천군'],
      dtype='object', name='시도')

인덱스를 열로 반환

✨.columns.get_level_values()[]✨

  • .index.get_level_values() vs .columns.get_level_values()[]

✏️입력

pop.columns.get_level_values(0)[5]

💻출력

'65세이상'

✏️입력

tmp_columns = [
    pop.columns.get_level_values(0)[n] + pop.columns.get_level_values(1)[n]
    for n in range(0, len(pop.columns.get_level_values(0)))
]

pop.columns = tmp_columns
pop.head()

💻출력

3. 지도 시각화를 위한 지역별 ID 만들기

이 글은 제로베이스 데이터 취업 스쿨의 강의자료 일부를 발췌하여 작성되었습니다.

profile
데이터 꿈나물

0개의 댓글