[私もコードします]データ分析と可視化-プロジェクト1
22174 ワード
1.人口ピラミッド
ID番号データリンク
1-1. 男性データの定義
1-2. 女性データの定義男女データの準備->グラフ の描画
1-3. データの表示
1-4.2021データ
ID番号データリンク
1-1. 男性データの定義
import pandas as pd
df_m = pd.read_excel('201111_201111_연령별인구현황_월간.xlsx', skiprows=3, index_col='행정기관', usecols= 'B, E:Y')
df_m.head()
#콤마가 있으면 str으로 읽을 수 도 있어서 지우고 정수형으로 바꾼다..
df_m.iloc[0] = df_m.iloc[0].str.replace(',','').astype(int)
df_m #콤마 사라짐
df_m.iloc[0]
1-2. 女性データの定義
df_w = pd.read_excel('201111_201111_연령별인구현황_월간.xlsx', skiprows=3, index_col='행정기관', usecols= 'B, AB:AV')
df_w.head()
# 컬럼명의 구분을 위해 달라진 컬럼명을 다시 같게만들기 위한 작업이 필요
df_m.columns
>>> Index(['0~4세', '5~9세', '10~14세', '15~19세', '20~24세', '25~29세', '30~34세',
'35~39세', '40~44세', '45~49세', '50~54세', '55~59세', '60~64세', '65~69세',
'70~74세', '75~79세', '80~84세', '85~89세', '90~94세', '95~99세', '100세 이상'],
dtype='object')
df_w.columns
>>> Index(['0~4세.1', '5~9세.1', '10~14세.1', '15~19세.1', '20~24세.1', '25~29세.1',
'30~34세.1', '35~39세.1', '40~44세.1', '45~49세.1', '50~54세.1', '55~59세.1',
'60~64세.1', '65~69세.1', '70~74세.1', '75~79세.1', '80~84세.1', '85~89세.1',
'90~94세.1', '95~99세.1', '100세 이상.1'],
dtype='object')
#컬럼명 통일
df_w.columns = df_m.columns
df_w.columns
>>> Index(['0~4세', '5~9세', '10~14세', '15~19세', '20~24세', '25~29세', '30~34세',
'35~39세', '40~44세', '45~49세', '50~54세', '55~59세', '60~64세', '65~69세',
'70~74세', '75~79세', '80~84세', '85~89세', '90~94세', '95~99세', '100세 이상'],
dtype='object')
df_w.iloc[0] = df_w.iloc[0].str.replace(',','').astype(int)
df_w #콤마 사라짐
df_w.iloc[0]
1-3. データの表示
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family'] = 'Malgun Gothic' # Windows
# matplotlib.rcParams['font.family'] = 'AppleGothic' # Mac
matplotlib.rcParams['font.size'] = 15
matplotlib.rcParams['axes.unicode_minus'] = False
plt.figure(figsize = (10,7))
plt.barh(df_m.columns, -df_m.iloc[0] // 1000) #남자 데이터, 단위 : 천명
plt.barh(df_w.columns, df_w.iloc[0] // 1000) # 여성데이터, 단위 : 천명
plt.title('2011년도 대한민국 인구 피라미드')
plt.savefig('2011_인구피라미드.png', dpi=100)
plt.show()
1-4.2021データ
file_name = '202111_202111_연령별인구현황_월간.xlsx'
df_m = pd.read_excel(file_name, skiprows=3, index_col='행정기관', usecols= 'B, E:Y')
df_m.iloc[0] = df_m.iloc[0].str.replace(',','').astype(int)
df_w = pd.read_excel(file_name, skiprows=3, index_col='행정기관', usecols= 'B, AB:AV')
df_w.columns = df_m.columns
df_w.iloc[0] = df_w.iloc[0].str.replace(',','').astype(int)
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family'] = 'Malgun Gothic' # Windows
# matplotlib.rcParams['font.family'] = 'AppleGothic' # Mac
matplotlib.rcParams['font.size'] = 15
matplotlib.rcParams['axes.unicode_minus'] = False
plt.figure(figsize = (10,7))
plt.barh(df_m.columns, -df_m.iloc[0] // 1000) #남자 데이터, 단위 : 천명
plt.barh(df_w.columns, df_w.iloc[0] // 1000) # 여성데이터, 단위 : 천명
plt.title('2021년도 대한민국 인구 피라미드')
plt.savefig('2021_인구피라미드.png', dpi=100)
plt.show()
Reference
この問題について([私もコードします]データ分析と可視化-プロジェクト1), 我々は、より多くの情報をここで見つけました https://velog.io/@ssjy89/나도코딩-데이터-분석-및-시각화-Project1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol