NEWS
ニュース

売上予測はじめてみます~実績サンプルデータのグラフ化~

2019.11.26

こんにちは、はじまりビジネスパートナーズ共同代表の中小企業診断士 増田です。今回は”IT/データ分析”をテーマにしたいと思います。

今回は、Pythonで売上実績サンプルデータの図示を目指したいと思います。コーディング環境はJupyter notebookを使おうと思いますが、GoogleさんがGoogle Colaboratoryという、インストール不要のクラウド上のJupyter notebook環境を用意してくれているのでそれを利用させていただくことにします。インストール不要といっても、Chrome、Google IDは必要になります。売上実績サンプルデータは季節変動があり、売上が減少傾向にあるようなデータにします。結構よくあるパターンではないかと思います。

売上実績サンプルデータ.xlsx

Google Colaboratoryへアクセス

早速ChromeからGoogle Colaboratoryにアクセスしてみます。https://colab.research.google.com/notebooks/welcome.ipynb?hl=ja
見た目が普段見ているJupyter notebookとはだいぶ違うことは気にしないことにします。

事前作業

事前に以下の2つの作業をしておきます。Google Colaboratoryはノートブックを作るたびに新しいコンテナを立ち上げているようで、これはノートブックを作るごとに毎回しないといけないようです。ちょっと面倒ですが、無料なので仕方ないと諦めます。

  1. Google Driveのマウント
  2. Matplotlibの日本語表示のためのフォントインストール+キャッシュの削除

from google.colab import drive
drive.mount(‘/content/drive’)
!apt-get -y install fonts-ipafont-gothic
!rm /root/.cache/matplotlib/fontlist-v310.json

マウントのために、Google IDが必要で、表示されるURLをたどっていくとauthorization codeが表示されるので、それをコピーして貼り付けます。これだけだとよくわかりませんが、やってみると意外と簡単にできるのではないかと思います。前に!をつけるとLinuxコマンドを処理してくれます。

売上実績サンプルファイルのアップロード

ファイルのアップロードは1度しておけば、新しいワークブックでも使えます。毎回マウントは必要なようですが。。。左上のアップロードからファイルを選択すればGoogle Driveにアップロードができます。

必要なライブラリのインポート

PandasライブラリはデータをEXCELのように扱えるようにしてくれます。Numpyは行列計算、matplotlibはグラフ描画用のライブラリです。as pdやas npはプログラム上で参照しやすくするため別名を割り当てます。MatplotlibからrcParamsをインポートしているのは、インストールしたフォントを使用するためです。%matplotlib inlineはjupyter notebook上にグラフを表示するために指定します。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rcParams
import matplotlib
%matplotlib inline

売上実績サンプルEXCELを扱いやすいように変数へ読み込み

サンプルファイルを読み込みます。PandasはデータをEXCELのように扱えるようにするライブラリです。Pandasライブラリのread_excelメソッドでサンプルデータexcelを読み込み、そのままdataframe型の変数df_aに入れています。下の例は、年、月、売上高の3列のEXCELデータを読み込み、年月、売上高の2列のdataframeを作成しています。

filepath=”/content/drive/My Drive/Colab Notebooks/売上実績sample.xlsx”
df_a = pd.read_excel(filepath,usecols=[0,1,2])
df_a[‘年月’]=df_a[‘年’].astype(str) + ‘/’ + df_a[‘月’].astype(str)
df_a = df_a.loc[:,[‘年月’,’売上高’]]

いよいよグラフ化

下のコードで、dataframe型であるdf_a変数の内容をグラフ化しています。ポイントはplt.xticksの中身で、横軸をすべて表示すると細かくて訳が分からなくなってしまうので、12か月ごとに70度傾けて表示するようにしています。plt.savefigのdpi以降は保存したpngファイルでx軸やy軸がちょんぎれないようにするための指定です。

plt.rcParams[‘font.family’] = ‘IPAPGothic’
plt.xticks(np.arange(0, len(df_a[‘年月’]) + 1, 12),rotation=70)
plt.title(“売上サンプル”, fontsize = 16)
plt.xlabel(‘年月’)
plt.ylabel(‘売上高(億円)’)
plt.plot(df_a[‘年月’], df_a[‘売上高’], color=”b”, label=’売上実績’)
plt.legend()
plt.savefig(“uriagesample.png”,dpi=200, bbox_inches=”tight”, pad_inches=0.1)plt.show()
plt.close()

無事売上実績データをグラフ化できました。次回はこのデータを用いて、まずは単回帰分析で売上を予測してみます。

はじまりビジネスパートナーズは株式会社ショッパーインサイトと提携して、データマーケティング提案も行なっております。データマーケティングにご興味がある方、活用したいと考えておられる方はこちらからご連絡ください!

一覧へ戻る
Contact

お問い合わせ

まずはお気軽にお問い合わせください。