import pandas as pd
import numpy as np
df = pd.read_csv('/content/201902_201902_연령별인구현황_월간.csv', encoding= 'utf-8')
#데이터 전처리
names_split = df['행정구역'].str.split('(')
df['행정구역'] = names_split.str.get(0)
df['행정구역']
columns_list = df.columns
final_col = {}
for col in columns_list[1:]:
final_col[col] = col.split('_')[2]
#컬럼명 변경
df.rename(columns=final_col, inplace=True)ㅣ
#
df.replace('[^\w]', '', regex=True, inplace=True)
# 인덱스 변경
df.set_index(keys=['행정구역'], inplace=True)
#형 변환
df = df.astype('int')
df = df.div(df['총인구수'], axis=0)
df.dropna(inplace=True) #NaN 데이터 삭제
# 전체 데이터를 총 인구수로 나누어 계산
del df['총인구수'], df['연령구간인구수']
address = input('인구구조가 알고 싶은 지역의 주소(읍면동 단위)를 입력해 주세요:')
a = df.index.str.contains(address) #해당 지역의 인덱스 찾기
df2 = df[a] #인구 구조 저장
df.sub(df2.iloc[0], axis=1).sum(axis=1).sort_values()
np.power(df.sub(df2.iloc[0], axis=1),2).sum(axis=1).sort_values()
df.loc[np.power(df.sub(df2.iloc[0], axis=1),2).sum(axis=1).sort_values().index[1:6]].T.plot()
plt.show()
^ null
# dropna로 nun처리 해주고 꺽은선 그래프 그리기
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('/content/2 이산화탄소 월평균농도.csv', encoding ='utf-8')
gf = df.groupby(['년월'])[['안면도', '고산', '울릉도', '독도']].sum()
gf.dropna().plot()
# dropna로 nun처리 해주고 꺽은선 그래프 그리기
import pandas as pd
df = pd.read_csv('/content/2 이산화탄소 월평균농도.csv', encoding ='utf-8')
df.dropna(subset=['독도'], inplace =True) # 독도가 최근데이터라서 자동적으로 날짜 변경해주기 위해 null데이터 없애기 위해 지워줌
gf = df.groupby(['년월'])[['안면도', '고산', '울릉도', '독도']].sum()
# gf.dropna(subset=['고산'], inplace =True) -> 데이터 unll제거
gf.plot()
^위의 코드 = 아래 캡처본
^ 인덱스 기준
^ 위.아래 캡처본은 ascending 기준
import matplotlib.pyplot as plt
plt.rcParams['figure.figsize']=(10,6)
plt.style.use('ggplot')
group_df.T.plot.bar()
plt.show()
import matplotlib.pyplot as plt
plt.rcParams['figure.figsize']=(10,6)
plt.style.use('ggplot')
group_df['사망자수'].T.plot.bar()
plt.show()
group_df['전체인원'].T.plot.barh()
plt.show()
group_df['사망자수','부상자수'].T.plot.barh()
plt.show()
import matplotlib.pyplot as plt
plt.rcParams['figure.figsize']=(10,6)
plt.style.use('ggplot')
group_df['전체인원'].T.plot.pie()
plt.show()
group_df['전체인원'].T.plot.pie()
plt.show()
group_df['전체인원'].T.plot()
plt.show()
group_df['사망자수'].T.plot()
group_df['부상자수'].T.plot()
group_df['전체인원'].T.plot()
plt.legend()
plt.show()
^ 이런 느낌의 그래프를 그리기 위한 코드
group_df['사망자수'].T.plot.bar()
group_df['사망자수'].T.plot()
group_df['부상자수'].T.plot()
plt.legend()
plt.show()