[Jouons avec Python] Créer un livre de comptes de ménage

introduction

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éparation

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? 2020-04-19.png Une description du type et du contenu. (Correspond au type de données csv ci-dessus.) 2020-04-19 (1).png

Code Python

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()

2020-04-19 (2).png

Visualisé avec un graphique de ligne de pliage

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")

2020-04-19 (3).png

Visualisez avec un graphique circulaire

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) )

2020-04-19 (4).png

en conclusion

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

[Jouons avec Python] Créer un livre de comptes de ménage
Faisons une interface graphique avec python.
Faisons un graphe avec python! !!
Faisons un jeu de shiritori avec Python
Faisons la voix lentement avec Python
Créez un framework Web avec Python! (1)
Faisons un bot Twitter avec Python!
Créez un framework Web avec Python! (2)
Remplaçons UWSC par Python (5) Faisons un robot
Faites une loterie avec Python
J'ai créé un bot de livre de compte de ménage avec LINE Bot
Essayez de créer un jeu simple avec Python 3 et iPhone
[Pour jouer] Essayez de faire de Yuma un robot LINE (Python)
[Piyopiyokai # 1] Jouons avec Lambda: créez un compte Twitter
[Piyopiyokai # 1] Jouons avec Lambda: création d'un script Python
[Super facile] Faisons un LINE BOT avec Python.
Faisons une rupture de bloc avec wxPython
Jouons avec Excel avec Python [Débutant]
Créer un système de recommandation avec python
Faisons un spacon avec xCAT
Créons un client de socket Web avec Python. (Authentification par jeton d'accès)
Faisons une application WEB pour l'annuaire téléphonique avec flacon Partie 1
Créons un groupe gratuit avec Python
Faisons une application WEB pour l'annuaire téléphonique avec flacon Partie 2
Fractal pour faire et jouer avec Python
Jouez avec 2016-Python
Faisons un langage simple avec PLY 1
[Python] Rendons matplotlib compatible avec le japonais
Faisons une application WEB pour l'annuaire téléphonique avec flacon Partie 3
Faisons une application WEB pour l'annuaire téléphonique avec flacon Partie 4
Faisons une IA à trois yeux avec Pylearn 2
Faisons un calcul de combinaison avec Python
Faisons une discussion WEB en utilisant WebSocket avec AWS sans serveur (Python)!
Créez une application de bureau avec Python avec Electron
[Ev3dev] Faisons un programme de contrôle à distance par Python avec le protocole RPyC
Jeu à la main en Python (commençons avec AtCoder?)
[Piyopiyokai # 1] Jouons avec Lambda: création d'une fonction Lambda
Je veux faire un jeu avec Python
Essayez de créer un code de "décryptage" en Python
Essayez de créer un groupe de dièdre avec Python
Faisons un module pour Python en utilisant SWIG
Si vous voulez créer un bot discord avec python, utilisons un framework
Faisons un outil de veille de commande avec python
[Pratique] Créez une application Watson avec Python! # 2 [Fonction de traduction]
Créez un Slackbot simple avec un bouton interactif en python
Faire un point d'arrêt sur la couche c avec python
Facilitons un peu la gestion des dépendances avec pip
Créer un outil de formatage CSV avec Python Pandas Py Installer
Créons une application Mac avec Tkinter et py2app
Essayez de créer une grille sphérique avec Rhinoceros / Grasshopper / GHPython
Qu'est-ce que Dieu? Créez un chatbot simple avec python
[Python] Road to the Serpent (5) Jouez avec Matplotlib
Jouons avec la 4e dimension 4e
Faisons un robot Discord.
Jouons avec les données Amedas - Partie 1
Faisons Othello avec wxPython
Jouons avec les données Amedas - Partie 4
Créez Puyopuyo AI avec Python