Visualisons la consommation de ma maison. Seulement ce que je pouvais faire au niveau débutant de Python. Puisqu'il s'agit d'un processus d'essais et d'erreurs, les détails sont appropriés.
Préparez simplement deux données csv. Ce sera comme suit. Une description de la date, du type et du coût (saisissez ici votre consommation quotidienne). Ici, j'écris les dates des données dans l'ordre. Si vous écrivez dans le désordre, avez-vous besoin de concevoir quelque chose comme essayer de le faire dans l'ordre? Une description du type et du contenu. (Correspond au type de données csv ci-dessus.)
Tout d'abord, installez la bibliothèque que vous souhaitez utiliser. Ensuite, lisez les données csv et combinez-les. Et le coût cumulé et le mois de la date des données sont ajoutés à la base de données.
import pandas as pd
import datetime
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
plt.style.use('ggplot') #la magie
font = {'family' : 'meiryo'}
df = pd.read_csv('kakeibo.csv')
abcde = pd.read_csv('kakei.csv') #Tapez la liste de contenu csv
df = pd.merge(df, abcde, on="type", how="left") #Combiner des données
df['Accumulation'] = np.cumsum(df['Coût'])
df["Date de données"] = pd.to_datetime(df["Date de données"])
df["Mois"] = df["Date de données"].dt.strftime("%Y%m")
df.head()
Affiche le total cumulé par date. Ensuite, visualisez-le dans un graphique. (Comme il s'agit de données de test, le contenu est approprié. Comme vous pouvez voir les données csv, il est 5/14 après 4/19, donc le graphique ressemble à ceci.)
df_sum = df.groupby("Date de données").sum()[["Accumulation"]] #Agréger par date
df_sum.head()
df_sum.plot(y='Accumulation',figsize=(20,6))
plt.xticks(fontsize=18)
plt.yticks(fontsize=18)
plt.xlabel("Date")
plt.ylabel("Coût")
Enfin, créez le coût de chaque contenu et visualisez-le dans un graphique circulaire.
df_new = df.groupby("Contenu").sum()[["Coût"]] #集計 日付とContenuごと
df_new.plot(kind='pie',x='Contenu', y = 'Coût' ,counterclock=False, startangle=90, autopct="%1.1f%%", pctdistance=0.7,figsize=(20,6) )
C'était un jeu de niveau débutant. Comme je l'ai écrit au début, c'est un processus d'essais et d'erreurs. Je pense que de nombreuses parties peuvent être développées et améliorées. Dans tous les cas, ce sera la production réelle après avoir augmenté la quantité de données originales à environ un mois.
Recommended Posts