[PYTHON] Visualisieren Sie die Exportdaten des Piyo-Protokolls

Einführung

Derzeit verwende ich die Piyolog-App für die Erziehung von 0-jährigen Kindern. Mit dieser App können Sie den auf Ihrem Smartphone eingegebenen Inhalt als Text exportieren. Alles begann, als ich mich fragte, ob ich mit diesen Daten etwas anfangen könnte.

Zweck

Verwenden Sie die Informationen aus der Piyolog-App, um das Wachstum Ihres Babys anhand objektiver Daten zu visualisieren, und sehen Sie sich die Grafik mit der Aufschrift „Oh! Ich werde erwachsen!“ An, um die Motivation für die Kinderbetreuung zu erhöhen. (Obwohl ich der Meinung bin, dass die Anzahl der Personen, die durch das Betrachten der Grafik motiviert sind, begrenzt ist)

Verarbeitungsablauf

Piyo-Protokoll → GAS → Himbeer-Pi (Shell + Python) → LINE Wenn Sie aus Piyo Log exportieren und an Google Mail senden, wird das automatisch grafisch dargestellte Ergebnis an LINE gesendet. image.png

Piyo-Protokoll-Exportformat

Die aus Piyo Log exportierten Textdaten (im Wert von einem Tag) sehen folgendermaßen aus.

piyolog.txt


[Piyo Log] Mai 2020
2020/5/1(Geld)
Kindername(0 Jahre xx Monate xx Tage)

02:25 steh auf(3 Stunden 15 Minuten)
02:30 pinkeln
02:50 schlafen
03:50 pinkeln
05:40 steh auf(2 Stunden 50 Minuten)
05:55 Milch 130ml
~ Abkürzung ~
22:45 schlafen

Die gesamte Muttermilch blieb 0 Minuten/Richtig 0 Minuten
Milch insgesamt 9 mal 840ml
Gesamtschlaf 13 Stunden 40 Minuten
Insgesamt 9 mal pinkeln
Insgesamt 1 Mal kacken

Zu visualisierende Inhalte

Erstellen Sie ein einfaches Diagramm, damit Sie die Trends 1 bis 3 visuell verstehen können.

  1. Wie viele ml Milch haben Sie an einem Tag gleichzeitig getrunken?
  2. Wie viel trinkst du an einem Tag?
  3. Wie viele ml haben Sie bisher kumulativ getrunken?

Verarbeitung mit Raspeltorte

Der Code wird nur für den Hauptteil extrahiert.

Listen Sie nur die erforderlichen Elemente auf

python


#Piyo Log Milch,Listen Sie nur Elemente wie Poop auf
def get_piyolog_all_items(texts):
    days = []
    all_items = []

    for month in texts:
        #Text mit Zeilenumbrüchen teilen
        lines = month.splitlines()

        #Machen Sie es zu einem numpy Array
        array = np.array(lines)

        for index, item in enumerate(array):
            #Verabredung bekommen
            if item == "----------" and index < len(array) - 1:
                day = array[index + 1]
                days.append(day)

            #Ignorieren Sie Leerzeilen und legen Sie die Zeit für das Element fest, das Sie aufnehmen möchten(hh:mm)Urteil von
            if item != "" and check_item(item):
                #Speichern Sie Datum, Uhrzeit und Elemente in einem Array
                day_items = [day] + item.split()
                all_items.append(day_items)

    return all_items

Berechnen Sie den maximalen / kumulativen Wert der Milch

get_each_day_milks


def get_each_day_milks(select, days, all_items):

    for item in all_items:
        #Extrahieren Sie die Elemente der Milch
        if item[2] == "Milch":
            milk = item[3]
            milk = int(milk.replace("ml", ""))
            all_milks.append([item[0], item[1], milk])

    for day in days:
        for array_milk in all_milks:

            #Maximale Milchmenge pro Tag
            if day == array_milk[0] and day_milk_max < array_milk[2]:
                #Maximalwert einmal speichern
                tmp_max_milk = array_milk
                #Aktualisieren Sie den Maximalwert für den Tag
                day_milk_max = array_milk[2]

            #Gesamtmenge Milch pro Tag
            if day == array_milk[0]:
                day_milk_sum += array_milk[2]

        #0 wird nicht aufgezeichnet
        if tmp_max_milk != 0:
            #Zur maximalen Milchliste hinzufügen
            max_milks.append(tmp_max_milk)
            #Zur Gesamtmilchliste hinzufügen
            sum_milks.append([day, "", day_milk_sum])
            #Zur kumulativen Milchliste hinzufügen
            all_milk_acc += day_milk_sum
            acc_milks.append([day, "", all_milk_acc])

        #Initialisieren
        day_milk_max = 0
        day_milk_sum = 0

    # return
    if select == "max":
        return max_milks
    elif select == "sum":
        return sum_milks
    elif select == "acc":
        return acc_milks
    else:
        return "error!"

POST to LINE

python


#Senden Sie Bilder an LINE
def send_picture_to_line(PICTURE_PATH):
    url = LINE_URL
    token = LINE_TOKEN
    headers = {"Authorization": "Bearer " + token}

    #Botschaft
    payload = {"message": "send picture"}
    #Bild
    files = {"imageFile": open(PICTURE_PATH, "rb")}
    # post
    requests.post(url, data=payload, headers=headers, files=files)

Ergebnis

Maximale Milchmenge pro Tag

Sie sehen, dass die konsumierte Milchmenge während der Neugeborenenperiode (0 bis 30 Tage nach der Geburt) erheblich zunimmt! Aufwachsen! milk_20200506_144852.png

Veränderungen des Gesamtwertes der Milch tranken an einem Tag

Nach der Neugeborenenperiode trinke ich fast jeden Tag 1000 ml. Der Grund, warum der letzte Tag stark gesunken ist, ist, dass es sich um Daten in der Mitte des Tages handelte. milk_20200506_144854.png

Der kumulative Wert der Milch hat bisher getrunken

Natürlich steigt es. Es mag ein natürlicher Graph sein, aber Mütter und Väter können sich erleichtert fühlen, wenn sie nur bestätigen, dass er stetig steigt. Wenn die Neigung sanft wird, fühlen Sie sich krank? Sie können bemerken. milk_20200506_144855.png

Andere

Das Wachstum kann durch Visualisierung von Änderungen der Gesamtschlafzeit und des Durchschnittswerts der Schlafzeit beobachtet werden. Ich trinke 80 Tage nach der Geburt 60000 ml = 60000 g. Ich habe also 3500 g für mein Kind gewonnen Der größte Teil von 60000-3500 = 56500 g scheint pinkeln und kacken geworden zu sein.

Recommended Posts

Visualisieren Sie die Exportdaten des Piyo-Protokolls
Visualisieren Sie die Flugbahn von Hayabusa 2
Nimm das Ausführungsprotokoll von Sellerie
Speichersparende Matrixkonvertierung von Protokolldaten
Visualisieren Sie den Antwortstatus der Volkszählung 2020
Über Boxplot und Violinplot, die die Variation unabhängiger Daten visualisieren
Erläutern Sie den Mechanismus der PEP557-Datenklasse
Visualisieren Sie den Grenzwert des mehrschichtigen Perzeptrons
Holen Sie sich die Spaltenliste und Datenliste von CASTable
Visualisieren Sie die Auswirkungen von Deep Learning / Regularisierung
Exportieren Sie 3D-Daten aus QGIS
Exportieren Sie DB-Daten im JSON-Format
Überprüfen Sie die Datenzusammenfassung in CASTable
Holen Sie sich die Spaltenliste und Datenliste von CASTable
Datenverarbeitung
Visualisieren Sie die Exportdaten des Piyo-Protokolls
Einstellung zur Ausgabe des Protokolls zur Ausführung von cron
Die Ungenauigkeit von Tensorflow war auf log (0) zurückzuführen.
[Hinweis] Exportieren Sie das HTML der Site mit Python.
Visualisieren Sie die innere Schicht des neuronalen Netzwerks
Die Geschichte des Lesens von HSPICE-Daten in Python
Visualisieren Sie das Verhalten des Sortieralgorithmus mit matplotlib
Übergang von Baseball aus Daten gesehen
Überprüfen Sie den Status der Daten mit pandas_profiling
Laden Sie die Winddaten der Meteorological Agency herunter
Scraping der Gewinndaten von Zahlen mit Docker
Exportieren Sie Zugriffsdaten für jeden Nutzer von Google Analytics.
Die Entscheidung von scikit-learn Wie man ein Holzmodell visualisiert
Visualisieren Sie Daten und erfassen Sie gleichzeitig die Korrelation
Über die Ineffizienz der Datenübertragung im luigi on-memory
Umschalten der Bot-Thermo-Hygrometer-Werte mit Raspberry Pi
Den Inhalt der Daten in Python nicht kennen
Visualisieren Sie das charakteristische Vokabular eines Dokuments mit D3.js.
Ich habe versucht, die API von Sakenowa Data Project zu verwenden
Ich habe versucht, die Spacha-Informationen von VTuber zu visualisieren
Verwenden wir die offenen Daten von "Mamebus" in Python
Visualisieren Sie mit OpenCV den Wertschätzungsstatus von Kunstwerken
Lassen Sie uns die von der Präfektur Shimane veröffentlichten Niederschlagsdaten visualisieren
Visualisieren Sie die Anzahl der Beschwerden von Lebensversicherungsunternehmen
Der Beginn von cif2cell
Die Bedeutung des Selbst
der Zen von Python
Vorverarbeitung von Präfekturdaten
Auswahl der Messdaten
Rache der Typen: Rache der Typen
Versuchen Sie, COVID-19 Tokyo-Daten mit Python zu kratzen
Verwendung vergangener Wetterdaten 4 (Wettergefühle während der Olympischen Spiele in Tokio)
Mit den Daten von COVID-19 wurde ein Netzwerkdiagramm erstellt.
Lassen Sie uns die Eisenbahndaten der nationalen Landnummern verwenden
Visualisieren Sie die Ergebnisse von Entscheidungsbäumen, die mit Python scikit-learn erstellt wurden
Lassen Sie uns die Analyse der sinkenden Daten der Titanic so durchführen
So führen Sie die Exportfunktion des GCP-Datenspeichers automatisch aus
Die Geschichte eines Rubinisten, der mit Python :: Dict-Daten mit Pycall kämpft
Datenverarbeitung, die die Auswirkungen von Verschränkungsfaktoren eliminiert (Theorie)
[Python] Ich habe versucht, die folgende Beziehung von Twitter zu visualisieren
Ändern des Aufbewahrungszeitraums für CloudWatch-Protokolle in Lambda
Stellen wir uns die Anzahl der mit Matplotlib mit dem Coronavirus infizierten Personen vor
Die Geschichte des Kopierens von Daten von S3 auf Googles TeamDrive
[Python] Ich habe versucht, Daten mit der API von Wikipedia zu sammeln
Visualisieren Sie den Tweet-Fluss mit Diamond + Graphite + Grafana
Was ich bei der Analyse der Daten des Ingenieurmarktes gesehen habe