#283 純流入量・純流出および総流入量・総流出量を算出するコードを改善する
投稿#276から、都道府県のマテリアルフローを推計するコードの改善に取り組んでいます。
今回の投稿では、投稿#280で推計した年間の品目別の流動量および投稿#281で求めた輸出量の結果を合計して、純流入量・純流出および総流入量・総流出量を算出します。
マテリアルフロー推計手順の概要
2015年大阪府のマテリアルフローの作成にあたり、島崎(2008)、天野ら(2001)の手法を参照しました。以下に推計手順の概要を示します。
- 「都道府県間年間流動量調査」のデータから、年間の品類別の純移出量、純移入量、内部流動量を求めます。
- 「都道府県間流動量3日間調査」のデータから、3日間の品類・品目別の純移出量、純移入量、内部流動量を求めます。
- 上記1.の結果に、2.で求めた3日間の品類と品目の比率を配分し、年間の品類・品目別の純移出量、純移入量、内部流動量を算出します。
- 上記3.の結果について、物流センサスでの調査品目と港湾統計での調査品目を統合して67品目に集約します。
- 「港湾統計(年報)2014」および「港湾統計(年報)2015」の「第3表 海上出入貨物表 (2)品種別都道府県別表(輸移出入) 」のデータから、2014年度(2014年4月〜2015年3月)の輸出入量を求めます。
- 上記5.の結果について、物流センサスでの調査品目と港湾統計での調査品目を統合して67品目に集約します。
- 上記4.と6.の結果を合計して、純流入量・純流出および総流入量・総流出量を算出します。
-
- 上記7.の結果に「着産業業種・品類品目別流動量3日間調査」のデータから着産業業種別比率を求め、各産業に配分します。
- 対象都道府県の産業構造や取引状況が考慮に入れるため、上記8.で行った配分を平成28年経済センサスの製造品出荷額を参照し、重みづけによる補正を施します。
- 上記7.の結果に「発産業業種別・品類品目別流動量3日間調査」のデータから発産業業種別比率を求め、各産業に配分します。
- 対象都道府県の産業構造や取引状況を考慮に入れるため、上記10.で行った配分平成28年経済センサスの原材料・燃料・電気使用額を参照し、重みづけによる補正を施します。
- 都道府県品類別内部流動量を算出する
今回の投稿は、上記手順の7.に該当します。
純流入量・純流出および総流入量・総流出量を算出するコードを改善すると以下のようになります。
# 集約品目名での年間輸出入量を算出
for col in ["輸入", "輸出"]:
for key in agg_dict.keys():
sum_agg = 0
for i in range(len(agg_dict[key])):
sum_agg += df_FY2014_trade.loc[agg_dict[key][i], col]
df_agg_year_pref_item.loc[key, col] = sum_agg
# 欠損値を確認する
has_any_nan = df_agg_year_pref_item.isnull().values.any()
print("--- NaNが一つでも存在するか? ---")
print(has_any_nan)
df_agg_year_pref_item = df_agg_year_pref_item.fillna(0)
# 純流入出量を算出する
df_agg_year_pref_item["純流入量"] = df_agg_year_pref_item["純移入"] + df_agg_year_pref_item["輸入"]
df_agg_year_pref_item["純流出量"] = df_agg_year_pref_item["純移出"] + df_agg_year_pref_item["輸出"]
df_agg_year_pref_item["総流入量"] = df_agg_year_pref_item["純移入"] \
+ df_agg_year_pref_item["輸入"] \
+ df_agg_year_pref_item["内部流動量"]
df_agg_year_pref_item["総流出量"] = df_agg_year_pref_item["純移出"] \
+ df_agg_year_pref_item["輸出"] \
+ df_agg_year_pref_item["内部流動量"]
total_inflow = (df_agg_year_pref_item['純流入量'].sum() + df_agg_year_pref_item['内部流動量'].sum())
total_outflow = (df_agg_year_pref_item['純流出量'].sum() + df_agg_year_pref_item['内部流動量'].sum())
print('純流入量:' + str(df_agg_year_pref_item['純流入量'].sum()))
print('純流出量:' + str(df_agg_year_pref_item['純流出量'].sum()))
print('内部流動量:' + str(df_agg_year_pref_item['内部流動量'].sum()))
print('総流入量:' + str(df_agg_year_pref_item['総流入量'].sum()))
print('総流出量:' + str(df_agg_year_pref_item['総流出量'].sum()))
print('total_inflow:' + str(total_inflow))
print('total_outflow:' + str(total_outflow))

