物価上昇しらべてみた - 2020年基準、消費者物価指数、品目別価格指数
2022年7月現在、なにかと物価上昇が話題になる今日このごろですが、「消費者物価指数」および「品目別価格指数」を調べる機会がありましたのでこの記事でご紹介します。
物価上昇といいましてもすべての品物で物価が上昇しているワケではなく、中には物価が下がっているようなものも多々あります。実際にデータを比較しながら、生活の中でお役立ていただければ幸いです。
この記事では、後ほど紹介しますe-Statのオープンデータを活用させていただきました。また、Pythonでオープンデータを活用したい方に役立つ内容ですので、ぜひ最後までご覧ください。
品目数がとても多いので目次やブラウザの検索をご活用ください。
消費者物価指数とは
消費者物価指数は、家計にかかわる品物の物価の変動をわかりやすく表すために作られました。消費者物価指数はCPI(Consumer Price Index)と呼ばれたりもします。
ある時点での値段と比較して、現在や過去はどれだけ値段に違いがあるのかを指数で表します。
具体的に、品目(品物)ごとの指数は次の式で求められます。
\begin{align} 品目の物価指数 = \frac{ある時点の品目の価格}{基準時の品目の価格} \times 100 \end{align}このことから、基準時の価格と変わらなければ100となります。
品目ごとの指数を品目ごとにあるウエイトで加重平均することで総合的な物価指数となります。
消費者物価指数についてより詳しくは、 2020年基準 消費者物価指数の解説 や 総務省統計局ホームページ をご覧ください。
オープンデータの活用
消費者物価指数をはじめ、さまざまなデータが e-Stat で公開されており、利用規約の範囲内でだれもが自由に閲覧・活用できます。 本記事でもe-Statより2020年基準の消費者物価指数のデータを活用させていただきました。
消費者物価指数 | ファイル | 統計データを探す | 政府統計の総合窓口
アメリカのCPI
下記URLではアメリカにおけるCPIを閲覧できます。 Consumer prices up 8.6 percent over year ended May 2022 : The Economics Daily: U.S. Bureau of Labor Statistics
消費者物価指数
ここからは実際にオープンデータを活用して、Pythonでグラフ化した画像を紹介いたします。記事のさいごでPythonプログラムをご覧いただけます。 以下、画像をクリックしていただくと全画面で拡大表示されますのでご活用ください。
こちらのページ から、2022年5月調査の「ラスパイレス連鎖基準方式による消費者物価指数(参考指数)」の月次Excelデータをダウンロードしてグラフ化しました。
ラスパイレス連鎖基準方式に関してくわしくは、 2020年基準 消費者物価指数の解説 や Wikipedia をご覧ください。
総合、生鮮食品を除く総合、持家の帰属家賃を除く総合、持家の帰属家賃及び生鮮食品を除く総合、生鮮食品及びエネルギーを除く総合、総合、生鮮食品を除く総合、持家の帰属家賃を除く総合、持家の帰属家賃及び生鮮食品を除く総合、生鮮食品及びエネルギーを除く総合、食料(酒類を除く)及びエネルギーを除く総合、食料、生鮮食品、生鮮食品を除く食料、穀類、魚介類、生鮮魚介、肉類、乳卵類、野菜・海藻、生鮮野菜、果物、生鮮果物、油脂・調味料、菓子類
調理食品、飲料、酒類、外食、住居、調理食品、飲料、酒類、外食、住居、持家の帰属家賃を除く住居、家賃、持家の帰属家賃を除く家賃、設備修繕・維持、光熱・水道、電気代、ガス代、他の光熱、上下水道料、家具・家事用品、家庭用耐久財、室内装備品、寝具類、家事雑貨、家事用消耗品
家事サービス、被服及び履物、衣料、和服、洋服、家事サービス、被服及び履物、衣料、和服、洋服、シャツ・セーター・下着類、シャツ・セーター類、下着類、履物類、他の被服、被服関連サービス、保健医療、医薬品・健康保持用摂取品、保健医療用品・器具、保健医療サービス、交通・通信、交通、自動車等関係費、通信、教育
品目別価格指数(全国)(2020年=100)
つぎに、品目別価格指数です。ここでは品目毎の価格指数を見ていきます。 ご自身の生活に直結している品物の価格変動ですので興味が湧く内容です。
こちらのページ から、2022年5月調査の「品目別価格指数(全国)」の月次Excelデータをダウンロードしてグラフ化しました。
総合、食料、穀類、米類、うるち米A、うるち米B、パン、食パン、あんパン、カレーパン、麺類、ゆでうどん、そうめん、スパゲッティ、カップ麺、中華麺、他の穀類、小麦粉、もち、シリアル
魚介類、生鮮魚介、まぐろ、あじ、いわし、かつお、さけ、さば、さんま、たい、ぶり、いか、たこ、えび、あさり、かき(貝)、ほたて貝、塩干魚介、塩さけ、たらこ
しらす干し、干しあじ、煮干し、ししゃも、いくら、魚肉練製品、揚げかまぼこ、ちくわ、かまぼこ、他の魚介加工品、かつお節、魚介漬物、魚介つくだ煮、魚介缶詰、肉類、生鮮肉、牛肉(国産品)、牛肉(輸入品)、豚肉(国産品)、豚肉(輸入品)
鶏肉、加工肉、ハム、ソーセージ、ベーコン、味付け肉、乳卵類、牛乳・乳製品、牛乳、牛乳.1、乳製品、粉ミルク、ヨーグルト、バター、チーズ(国産品)、チーズ(輸入品)、卵、鶏卵、野菜・海藻、生鮮野菜
キャベツ、ほうれんそう、はくさい、ねぎ、レタス、ブロッコリー、もやし、アスパラガス、さつまいも、じゃがいも、さといも、だいこん、にんじん、ごぼう、たまねぎ、れんこん、ながいも、しょうが、えだまめ、さやいんげん
かぼちゃ、きゅうり、なす、トマト、ピーマン、生しいたけ、えのきたけ、しめじ、カット野菜、乾物・加工品類、乾物・海藻、干ししいたけ、干しのり、わかめ、こんぶ、ひじき、大豆加工品、豆腐、油揚げ、納豆
他の野菜・海藻加工品、こんにゃく、梅干し、だいこん漬、はくさい漬、キムチ、こんぶつくだ煮、野菜缶詰、果物、生鮮果物、りんご、みかん、オレンジ、しらぬひ、梨、ぶどうA、ぶどうB、柿、桃、すいか
メロン、いちご、バナナ、キウイフルーツ、さくらんぼ、アボカド、果物加工品、ナッツ、油脂・調味料、油脂、食用油、マーガリン、調味料、食塩、しょう油、みそ、砂糖、酢、ソース、ケチャップ
マヨネーズ、ドレッシング、ジャム、カレールウ、乾燥スープ、風味調味料、ふりかけ、たれ、つゆ、合わせ調味料、パスタソース、菓子類、ようかん、まんじゅう、だいふく餅、カステラ、ケーキ、ゼリー、プリン、シュークリーム
ロールケーキ、せんべい、ビスケット、ポテトチップス、キャンデー、チョコレート、アイスクリーム、落花生、チューインガム、調理食品、主食的調理食品、すし(弁当)A、すし(弁当)B、弁当A、弁当B、おにぎり、調理パン、冷凍米飯、調理パスタ、調理ピザ
焼き魚、きんぴら、焼豚、サラダチキン、おでん、飲料、茶類、緑茶、紅茶、茶飲料、コーヒー・ココア、インスタントコーヒー、コーヒー豆、コーヒー飲料A、コーヒー飲料B、他の飲料、果実ジュース、果汁入り飲料、野菜ジュース、炭酸飲料
ノンアルコールビール、乳酸菌飲料、ミネラルウォーター、宅配水、スポーツドリンク、豆乳、酒類、清酒、焼酎、ビール、発泡酒、ウイスキー、ワイン(国産品)、ワイン(輸入品)、チューハイ、ビール風アルコール飲料、外食、一般外食、うどん(外食)、日本そば(外食)
中華そば(外食)、スパゲッティ(外食)、すし(外食)A、すし(外食)B、天丼(外食)、カレーライス(外食)、牛丼(外食)、豚カツ定食(外食)、しょうが焼き定食(外食)、フライドチキン(外食)、ぎょうざ(外食)、ハンバーグ(外食)、焼肉(外食)、ハンバーガー(外食)、サンドイッチ(外食)、ピザ(配達)、ドーナツ(外食)、コーヒー(外食)A、コーヒー(外食)B、ビール(外食)
やきとり(外食)、学校給食、学校給食(小学校)、学校給食(中学校)、住居、家賃、民営家賃、民営家賃.1、公営・都市再生機構・公社家賃、公営家賃、都市再生機構・公社家賃、持家の帰属家賃、持家の帰属家賃.1、設備修繕・維持、設備材料、システムバス、温水洗浄便座、給湯器、システムキッチン、カーポート
修繕材料、工事その他のサービス、畳替え代、水道工事費、塀工事費、外壁塗装費、屋根修理費、植木職手間代、ふすま張替費、大工手間代、駐車場工事費、壁紙張替費、火災・地震保険料、光熱・水道、電気代、電気代.1、ガス代、都市ガス代、プロパンガス、他の光熱
灯油、上下水道料、水道料、下水道料、家具・家事用品、家庭用耐久財、家事用耐久財、電子レンジ、電気炊飯器、ガステーブル、電気冷蔵庫、電気掃除機、電気洗濯機(全自動洗濯機)、電気洗濯機(洗濯乾燥機)、冷暖房用器具、ルームエアコン、温風ヒーター、空気清浄機、一般家具、食堂セット
ソファ、食器戸棚、室内装備品、照明器具、カーペット、カーテン、クッション、寝具類、ベッド、布団、敷布、布団カバー、敷きパッド、家事雑貨、食器類、茶わん、皿、台所用品、水筒、鍋
フライパン、スポンジたわし、他の家事雑貨、電球・ランプ、タオル、マット、物干し用ハンガー、収納ケース、家事用消耗品、ティシュ・トイレットペーパー、ティシュペーパー、トイレットペーパー、洗剤、台所用洗剤、洗濯用洗剤、他の家事用消耗品、ラップ、ポリ袋、殺虫剤、柔軟仕上剤
芳香・消臭剤、キッチンペーパー、漂白剤、家事サービス、家事代行料、家事代行料.1、清掃代、リサイクル料金、浄化槽清掃代、他の家事サービス、モップレンタル料、被服及び履物、衣料、和服、婦人用着物、婦人用帯、洋服、男子用洋服、背広服(春夏物,中級品)、背広服(春夏物,普通品)
背広服(秋冬物,中級品)、背広服(秋冬物,普通品)、男子用上着、男子用ズボン(春夏物)、男子用ズボン(秋冬物)、男子用ズボン(ジーンズ)、男子用コート、男子用学校制服、婦人用洋服、婦人用スーツ(春夏物,中級品)、婦人用スーツ(春夏物,普通品)、婦人用スーツ(秋冬物,中級品)、婦人用スーツ(秋冬物,普通品)、ワンピース(春夏物)、ワンピース(秋冬物)、婦人用上着、スカート(春夏物)、スカート(秋冬物)、婦人用スラックス(秋冬物)、婦人用スラックス(ジーンズ)
婦人用Tシャツ(長袖)、婦人用Tシャツ(半袖)、婦人用セーター(長袖)、婦人用セーター(半袖)、子供用シャツ・セーター類、子供用Tシャツ(長袖)、子供用Tシャツ(半袖)、下着類、男子用下着類、男子用シャツ(半袖)、男子用パンツ、男子用パジャマ、婦人用下着類、ブラジャー、婦人用ショーツ、ランジェリー、子供用下着類、子供用下着、履物類、男子靴
婦人靴、子供靴、運動靴、サンダル、スリッパ、他の被服、帽子、ネクタイ、マフラー、男子用靴下、婦人用ストッキング、婦人用ソックス、ベルト、被服関連サービス、クリーニング代A、クリーニング代B、履物修理代、被服賃借料、保健医療、医薬品・健康保持用摂取品
総合かぜ薬、解熱鎮痛剤、胃腸薬、ビタミン剤A、ビタミン剤B、ドリンク剤、皮膚病薬、はり薬、目薬、漢方薬、鼻炎薬、健康保持用摂取品A、健康保持用摂取品B、保健医療用品・器具、紙おむつ(乳幼児用)、紙おむつ(大人用)、生理用ナプキン、入浴剤、コンタクトレンズ用剤、マスク
軽度失禁用品、眼鏡、コンタクトレンズ、血圧計、補聴器、サポーター、保健医療サービス、診療代、マッサージ料金、人間ドック受診料、予防接種料、交通・通信、交通、鉄道運賃(JR)、普通運賃(JR)、料金(JR,在来線)、料金(JR,新幹線)、通学定期(JR)、通勤定期(JR)、鉄道運賃(JR以外)
普通運賃(JR以外)、通学定期(JR以外)、通勤定期(JR以外)、他の交通、一般路線バス代、高速バス代、タクシー代、航空運賃、有料道路料、高速自動車国道料金、都市高速道路料金、自動車等関係費、自動車、軽乗用車、小型乗用車、普通乗用車A、普通乗用車B、自転車、自転車A、自転車B
自動車等維持、ガソリン、自動車タイヤ、自動車バッテリー、カーナビゲーション、ドライブレコーダー、自動車整備費(定期点検)、自動車整備費(パンク修理)、自動車オイル交換料、車庫借料、駐車料金、自動車免許手数料、レンタカー料金、洗車代、ロードサービス料、自動車保険料(自賠責)、自動車保険料(任意)、通信、はがき、封書
通信料(固定電話)、通信料(携帯電話)、運送料、携帯電話機、教育、授業料等、PTA会費(小学校)、PTA会費(中学校)、中学校授業料(私立)、高等学校授業料(公立)、高等学校授業料(私立)、大学授業料(国立)、大学授業料(私立)、短期大学授業料(私立)、専修学校授業料(私立)、教科書・学習参考教材、教科書、学習参考教材、補習教育、補習教育(小学校)
補習教育(中学校)、補習教育(高校・予備校)、教養娯楽、教養娯楽用耐久財、テレビ、ビデオレコーダー、パソコン(デスクトップ型)、パソコン(ノート型)、タブレット端末、プリンタ、カメラ、ピアノ、学習用机、教養娯楽用品、文房具、ボールペン、ノートブック、はさみ、運動用具類、ゴルフクラブ
グローブ、テニスラケット、釣ざお、トレーニングパンツ、水着、競技用靴、玩具、家庭用ゲーム機、ゲームソフト、人形、玩具自動車、組立玩具、切り花、切り花(カーネーション)、切り花(きく)、切り花(バラ)、他の教養娯楽用品、メモリーカード、コンパクトディスク、ビデオソフト
ペットフード(ドッグフード)、ペットフード(キャットフード)、ペットトイレ用品、鉢植え、園芸用土、園芸用肥料、電池、プリンタ用インク、書籍・他の印刷物、新聞代、新聞代(地方・ブロック紙)、新聞代(全国紙)、雑誌、月刊誌、週刊誌、書籍、単行本A、単行本B、教養娯楽サービス、宿泊料
入場・観覧・ゲーム代、映画観覧料、演劇観覧料、サッカー観覧料、プロ野球観覧料、ゴルフ練習料金、ゴルフプレー料金、ボウリングゲーム代、プール使用料、フィットネスクラブ使用料、文化施設入場料、テーマパーク入場料、カラオケルーム使用料、他の娯楽サービス、写真撮影代、ビデオソフトレンタル料、インターネット接続料、ウェブコンテンツ利用料、獣医代、ペット美容院代
諸雑費、理美容サービス、入浴料、理髪料、パーマネント代、カット代、ヘアカラーリング代、エステティック料金、理美容用品、理容器具、電気かみそり、歯ブラシ、石けん類、手洗い用石けん、ボディーソープ、洗顔料、クレンジング、シャンプー、ヘアコンディショナー、歯磨き
化粧品、整髪料、養毛剤、化粧クリームA、化粧クリームB、化粧水A、化粧水B、乳液A、乳液B、ファンデーションA、ファンデーションB、口紅A、口紅B、ヘアカラーリング剤、美容液、身の回り用品、かばん類、バッグA、バッグB、通学用かばん
旅行用かばん、腕時計・指輪、指輪、腕時計、他の身の回り用品、傘、ハンカチーフ、たばこ、たばこ(国産品)、たばこ(輸入品)、他の諸雑費、葬儀料、傷害保険料、保育所保育料、学童保育料、介護料、行政証明書手数料、パスポート取得料、振込手数料、警備料
消費者物価指数のオープンデータをPythonでグラフ化してみよう!
さいごに、本記事で紹介しましたグラフをPythonで作るプログラムをご紹介いたします。 pandasを使ったデータ解析になりますので必要なモジュールをpipであらかじめインストールし、Python3でお使いください。
下記プログラムは「ラスパイレス連鎖基準方式による消費者物価指数(参考指数)」のEXCELデータをグラフ化して画像出力します。 こちらのページ から「ラスパイレス連鎖基準方式による消費者物価指数(参考指数)」の月次のEXCELファイルをダウンロードしてお使いください。
'''
CPI: Consumer Price Index
e-Statのデータ「ラスパイレス連鎖基準方式による消費者物価指数(参考指数)」をグラフ化して画像出力する
created by Toshihiko Arai
(c) https://101010.fun/
'''
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib
import matplotlib.dates as mdates
import datetime as dt
#--------------------------------------------------------
# データフレームの作成、整形
filename = 'bm14.xlsx'
df = pd.read_excel(filename, header=10, na_values=['- '])
df = df.drop(index=[0, 1, 2, 3])
df["date"] = df.iloc[:, 1]
df["date"] = pd.to_datetime(df["date"], format='%Y%m')
df = df[(df['date'] >= dt.datetime(2010,1,1))]
df["date"] = mdates.date2num(df["date"])
df = df.set_index("date")
df = df.drop(columns=["Unnamed: 0", "Unnamed: 1", "Unnamed: 2", "Unnamed: 3", "Unnamed: 4", "Unnamed: 5",
"Unnamed: 6", "Unnamed: 7", "Unnamed: 8", "Unnamed: 9", "Unnamed: 10", "類・品目"])
df = df.astype(float) # TypeError: no numeric data to plot対策
print(len(df)) # データの件数
print(df.columns.values.tolist()) # ヘッダー(項目名一覧)
print(df)
# quit()
#--------------------------------------------------------
# グラフに表示する項目を5個づつに区切る
separated_columns = []
per_columns = []
index = 0
separate_row = 5
for column in df.columns.values.tolist():
if index % separate_row == 0:
per_columns = []
if index % separate_row == separate_row - 1:
separated_columns.append(per_columns)
per_columns.append(column)
index = index + 1
#--------------------------------------------------------
# グラフ生成、画像出力
index = 0
for columns in separated_columns:
print(columns)
if index % 4 == 0:
fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(18, 12))
fig.suptitle("ラスパイレス連鎖基準方式による消費者物価指数(参考指数) (2020年=100)")
fig.tight_layout() # 余白調整
if index % 4 == 0:
ax = df[columns].plot(ax=axes[0, 0])
elif index % 4 == 1:
ax = df[columns].plot(ax=axes[0, 1])
elif index % 4 == 2:
ax = df[columns].plot(ax=axes[1, 0])
elif index % 4 == 3:
ax = df[columns].plot(ax=axes[1, 1])
ax.legend(loc='lower left')
ax.set_xlabel('')
ax.xaxis.set_major_formatter(mdates.DateFormatter("%Y"))
if index % 4 == 3:
# plt.show()
plt.savefig('consumer-price-index-jp-{}-{}.png'.format(filename.split('.')[0], int(index / 4)), dpi=100)
plt.close('all')
# quit()
index = index + 1
品目別価格指数に関しましても、このプログラムを少し改良すれば簡単にグラフ化できます。 Pandasのデータフレーム使い方に関しては、こちらの記事でまとめてあります。