LoginSignup
0
0

More than 1 year has passed since last update.

Pythonを学び始めた時に書いていたコードがあったので何してたのか思い出すために載せるだけの記事

Posted at

前職のときにPythonに出会って、当時は勉強を兼ねて来客数をデータ化してみようということをしてました。

その時のコードがPCから見つかったので、何してたか思い出しながら載せようと思いました。
※当時の職場に非利益になるような情報は載せません。
 あくまで「こう書けばこう動く」ということを載せるだけなので悪しからず

最初は人数を表にしたいので、データフレームにしました。
データフレーム.png
このように比較する年を列、比較項目を行として表にしたかったので、
当時の私はこのように書きました。(数字は適当です)

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

#totalの数字(20xx年と20yy年の人数の比較)
data20xx = {'Separation':["total","weekday","holiday","man","child-man","woman","child-woman"]
            ,'people20xx':[21000,1000,2000,3000,4000,5000,6000]}
data20yy = {'Separation':["total","weekday","holiday","man","child-man","woman","child-woman"]
            ,'people20yy':[32000,2000,4000,10000,2000,4000,10000]}

df_total20xx = pd.DataFrame(data20xx)
df_total20yy = pd.DataFrame(data20yy)
df_total = pd.merge(df_total20xx,df_total20yy,how="inner",on="Separation")

fig, ax = plt.subplots(figsize=(4,4))
ax.axis('off')
ax.axis('tight')
ax.table(cellText=df_total.values,
         colLabels=df_total.columns,
         rowLabels=df_total.index,
         loc='center',
         bbox=[0,0,1,1])
#画像として保存
plt.savefig('20xx-20yy-total.png')

1ヶ月ごとの人数を線グラフにしました。
ダウンロード (1).png


#1ヵ月ごとの線グラフ(20xx-20yy)

plt.plot(columns1,list20xx,color="green",ls="--",marker="*",label="20xx")
plt.plot(columns1,list20yy,color='red',ls="--",marker="o",label='20yy')

plt.xticks(columns1,columns1)
plt.xlabel('month')
plt.ylabel('people')
plt.grid()
plt.legend(bbox_to_anchor=(1, 1), loc='upper right', borderaxespad=0, fontsize=10)
plt.show()
plt.savefig('20xx-20yymonth_total.png')

男女(大人、子供)の人数の割合を円グラフで比較してみました。
ダウンロード (2).png

# 円グラフ (外側20xx)
plt.pie([11000,5440,3400,1000],
       labels=["Man","ChildMan","Woman","ChildWoman"],
       counterclock=False,
       startangle=90,
       autopct="%1.1f%%",
       wedgeprops={'linewidth':1,'edgecolor':"white"})
plt.axis('equal') 
 
# 円グラフ (内側2019, 半径 70% で描画)
plt.pie([9000,3500,3500,800],
       counterclock=False,
       startangle=90,
       radius=0.7,
       autopct="%1.1f%%",
       wedgeprops={'linewidth':1,'edgecolor':"white"})
   
plt.axis("equal")
 
# 中心 (0,0) に 40% の大きさで円を描画
centre_circle = plt.Circle((0,0),0.4,color='black', fc='white',linewidth=1.25)
fig = plt.gcf()
fig.gca().add_artist(centre_circle)

このようなことをしていました。

当時の私は自作関数を使わず、組込み関数だけを使って書いてました。
理由は関数を作るのがめんどくさかったからです。
(当時の自分を殴りたい)

また、人の数え方は目視で人数を数え、そのデータを自分で入力するというだけの物でした…。
ラズパイなどでセンサーの開発をしてみよう!って気持ちはありましたが、その気持ちは前の職場に置いていきました笑

当時は自分が書いたコードが動くだけで満足していましたが、今このコードを見たり当時の作業を思い出せば、なんて無謀なことをしていたのだろうかと思います…。

これらのコードの整理はいつか行いたいとは思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0