#197 2000年兵庫県の第一次、二次産業における産出量を分析
投稿#196において、兵庫県の生産活動における2000年のマテリアルフローを推計しました。今回の投稿から、上述のマテリアルフローに分析を加えていきます。
2000年兵庫県の第一次、二次産業における産出量
2000年の兵庫県における第一次、二次産業の産出量の内訳を積み上げ棒グラフと円グラフにしていきます。
最初に、両グラフの色設定を同じにします。
Pythonのコードは、以下のようになります。
コード197-1 グラフの色設定
# カラーマップを設定
import matplotlib.cm as cm
# カラーマップ"tab20"を取得して色を設定
cmap = cm.tab20
次に、積み上げ棒グラフを描画します。Pythonのコードと実行結果を以下に記します。
コード197-1 積み上げ棒グラフを描画
# 第一次、第二次産業における産出量の内訳を積み上げ棒グラフにする
# 2000年業種分類表のcsvファイルをDataFrame形式で読み込み
df_h12_sector = pd.read_csv("h12sector.csv")
# code(産業分類コード)を行のインデックスに変換
fourcodeindex(df_h12_sector)
# 列pro(産出量)を追加
df_h12_sector["pro"] = 0
# code毎の産出量を算出
for xcode in df_h12_sector.index:
xoutput = 0
for jcode in df_h12_per_cap_mt.index:
xoutput += df_h12_per_cap_mt.loc[jcode, xcode]
df_h12_sector.loc[xcode, "pro"] = xoutput
# 業種ごとの産出量csvファイルをDataFrame形式で読み込み
df_h12_pro = pd.read_csv("h12pro.csv", index_col=0)
# 業種ごとの産出量を転記
for i in df_h12_pro.index:
for sector, group in df_h12_sector.groupby("sector"):
if i == sector:
df_h12_pro.loc[i, "pro"] = group["pro"].sum()
# 積み上げ棒グラフの描画
fig, ax = plt.subplots(1, 1)
sectors = df_h12_pro.index # 第一次、第二次産業の産業リスト
sector_number = len(sectors) # 第一次、第二次産業の産業数
colorlist = [] # 業種別カラーを格納するリストを用意
for i, sector_ in enumerate(sectors):
# i行目から最終行までの和を計算
values = df_h12_pro.iloc[i:sector_number, :].sum()
colorlist.append(cmap(i))
ax.bar("2000", values, color=cmap(i), label=sector_)
ax.set_ylabel("産出量(t/人)")
ax.legend(bbox_to_anchor=(1, 1));
さらに、割合を可視化するために、円グラフを描画します。Pythonのコードは、以下のようになります。
# 第一次、第二次産業における産出量の内訳を円グラフにする
df_h12_pro["color"] = None # 列colorを追加
for i in range(len(colorlist)):
# リストcolorlistに格納されている色を業種名に対応させる
df_h12_pro.iat[i, 1] = colorlist[i]
# 産出量で降順に並び替える
df_h12_pro_rank = df_h12_pro[["pro", "color"]].sort_values(by="pro", ascending=False)
fig, ax = plt.subplots(1, 1)
# 円グラフの描写
ax.pie(
df_h12_pro_rank["pro"],
labels=df_h12_pro_rank.index,
autopct="%0.1f%%",
startangle=90,
counterclock=False,
colors=df_h12_pro_rank["color"],
)
上記のコードを実行すると、産出量の割合を大きい順に示した円グラフが得られました。
産出量の割合が小さい業種については、凡例の文字が重なってしまいました^^;
2000年兵庫県の第一次、二次産業における産出量の上位5業種を上げると、
- 建設業(44.6%)
- 鉄鋼(16.4%)
- 窯業・土石製品(12.8%)
- その他の製造工業製品(7.6%)
- 化学製品(5.5%)
となります。