Ich kenne? Datenanalyse mit Python oder Dingen, die Sie mit numpy verwenden möchten, wenn Sie möchten

Codes, die Sie hauptsächlich erreichen möchten, wenn Sie in Pandas möchten

** Ich habe versucht, es wie den Adventskalender zu machen, aber es tut mir leid, dass ich es nicht rechtzeitig schaffen konnte **

Ich werde es bald hinzufügen

Geben Sie unten einen Alias wie folgt an

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

Lassen Sie beim Anzeigen keine Spalten und Zeilen aus

pd.set_option('display.max_columns', 100)
pd.set_option('display.max_rows', 500)

Verwenden Sie description () für andere Zeilen als Zahlen

DF.desctibe(include='all')

Daten in chronologischer Reihenfolge

Ich habe hier darauf hingewiesen https://note.nkmk.me/python-pandas-time-series-resample-asfreq/

Datumsdaten erstellen

df = pd.DataFrame({'data' : range(0, 30, 2)},
                 index=pd.date_range(start='2018/1/1', end='2018/1/30', freq='2D'))

Extrahieren Sie Daten in regelmäßigen Abständen

Wenn Sie beispielsweise alle 3 Tage Daten extrahieren möchten, verwenden Sie asfreq (). Daten, die ursprünglich keine Daten haben, sind Keine.

df.asfreq(freq='3D')
before after

Wenn Sie jeden Mittwoch extrahieren und den Teil Keine mit den vorherigen Daten füllen möchten, verwenden Sie asfreq (freq = 'W-WED', method = 'pad').

df.asfreq(freq='W-WED', method='pad')
before after

Verwenden Sie umgekehrt asfreq (method = 'bfill'), um den nachfolgenden Wert einzugeben.

df.asfreq(freq='W-WED', method='bfill')
before after

Haben Sie Datumsdaten und erhalten Sie wöchentlich Summen

Verwenden Sie resample ()

df.resample('W').sum()
before after

Daten mit demselben Datum, Summe für jedes Datum

Die Daten sehen so aus

df2 = pd.DataFrame({'data': range(17)},
                    index=pd.date_range('2018-08-01', '2018-08-05', freq='6H'))

Verwenden Sie Resample ('D'). Sum (), um die tägliche Summe zu erhalten.

df2.resample('D').sum()
before after

Verwenden Sie für den Durchschnitt Resample ('D'). Mean ().

before after

Visualisierung (Sonne)

Bereiten Sie virtuelle Daten von 2018/1/1 bis 2018/12/31 vor

np.random.seed(0)
df3 = pd.DataFrame({'data': 
                    np.maximum(0, np.minimum(np.arange(0, -365, -1) + 182, 0) + np.minimum(np.arange(365), 182) + np.floor(np.random.normal(50, 50, 365)))},
                    index=pd.date_range('2018-01-01', '2018-12-31'))

Wenn Sie dies visualisieren,

plt.figure(figsize=(18, 6), facecolor='white')
plt.plot(df3.index, df3['data'], marker='o')
plt.xticks(rotation=90)
plt.show()
graph data
image.png

Visualisierung (wöchentlich)

Versuche jeden Montag zu visualisieren

np.random.seed(0)
df3 = pd.DataFrame({'data': 
                    np.maximum(0, np.minimum(np.arange(0, -365, -1) + 182, 0) + np.minimum(np.arange(365), 182) + np.floor(np.random.normal(50, 50, 365)))},
                    index=pd.date_range('2018-01-01', '2018-12-31'))

_df = df3.asfreq('W-MON')
plt.figure(figsize=(18, 6), facecolor='white')
plt.plot(_df.index, _df['data'], marker='o')
plt.xticks(rotation=90)
plt.show()
graph data
image.png

Visualisierung (monatlich)

Visualisiert am Ende des Monats

np.random.seed(0)
df3 = pd.DataFrame({'data': 
                    np.maximum(0, np.minimum(np.arange(0, -365, -1) + 182, 0) + np.minimum(np.arange(365), 182) + np.floor(np.random.normal(50, 50, 365)))},
                    index=pd.date_range('2018-01-01', '2018-12-31'))

_df = df3.asfreq('1M')
plt.figure(figsize=(18, 6), facecolor='white')
plt.plot(_df.index, _df['data'])
plt.xticks(rotation=90)
plt.show()
graph data
image.png

asfreq ('1M') ist der letzte Tag des Monats

df3.asfreq('1M')

Der erste Tag des Monats

np.random.seed(0)
df3 = pd.DataFrame({'data': 
                    np.maximum(0, np.minimum(np.arange(0, -365, -1) + 182, 0) + np.minimum(np.arange(365), 182) + np.floor(np.random.normal(50, 50, 365)))},
                    index=pd.date_range('2018-01-01', '2018-12-31'))

_df = df3.asfreq('1MS')
plt.figure(figsize=(18, 6), facecolor='white')
plt.plot(_df.index, _df['data'])
plt.xticks(rotation=90)
plt.show()
graph data
image.png

asfreq ('1MS') ist der erste Tag des Monats

df3.asfreq('1MS')

Visualisierung (1 Viertel)

np.random.seed(0)
df3 = pd.DataFrame({'data': 
                    np.maximum(0, np.minimum(np.arange(0, -365, -1) + 182, 0) + np.minimum(np.arange(365), 182) + np.floor(np.random.normal(50, 50, 365)))},
                    index=pd.date_range('2018-01-01', '2018-12-31'))

_df = df3.asfreq('1QS')
plt.figure(figsize=(18, 6), facecolor='white')
plt.plot(_df.index, _df['data'], marker='o')
plt.xticks(rotation=90)
plt.show()
graph data
image.png image.png

Visualisierung (insgesamt eine Woche)

np.random.seed(0)
df3 = pd.DataFrame({'data': 
                    np.maximum(0, np.minimum(np.arange(0, -365, -1) + 182, 0) + np.minimum(np.arange(365), 182) + np.floor(np.random.normal(50, 50, 365)))},
                    index=pd.date_range('2018-01-01', '2018-12-31'))

_df = df3.resample('W').sum()
plt.figure(figsize=(18, 6), facecolor='white')
plt.plot(_df.index, _df['data'], marker='o')
plt.xticks(rotation=90)
plt.show()
graph data
image.png

Visualisierung (insgesamt für einen Monat)

np.random.seed(0)
df3 = pd.DataFrame({'data': 
                    np.maximum(0, np.minimum(np.arange(0, -365, -1) + 182, 0) + np.minimum(np.arange(365), 182) + np.floor(np.random.normal(50, 50, 365)))},
                    index=pd.date_range('2018-01-01', '2018-12-31'))

_df = df3.resample('MS').sum()
plt.figure(figsize=(18, 6), facecolor='white')
plt.plot(_df.index, _df['data'], marker='o')
plt.xticks(rotation=90)
plt.show()
graph data
image.png

Zeitreiheninterpolation

Zeitreiheninterpolation wird häufig für Berufsmuster verwendet

Dies kann mit asfreq () gut erfolgen.

df = pd.DataFrame({'data' : range(0, 30, 2)},
                 index=pd.date_range(start='2018/1/1', end='2018/1/30', freq='2D'))

df2 = df.asfreq('1D')
before after

Datum → Tag

Verwenden Sie Wochentag oder Wochentag für Datenzeitserien

0 ist Montag, 6 ist Sonntag

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DatetimeIndex.weekday.html

np.random.seed(0)
df3 = pd.DataFrame({'data': 
                    np.maximum(0, np.minimum(np.arange(0, -365, -1) + 182, 0) + np.minimum(np.arange(365), 182) + np.floor(np.random.normal(50, 50, 365)))},
                    index=pd.date_range('2018-01-01', '2018-12-31'))
df3.index.weekday
Int64Index([0, 1, 2, 3, 4, 5, 6, 0, 1, 2,
            ...
            5, 6, 0, 1, 2, 3, 4, 5, 6, 0],
           dtype='int64', length=365)

Recommended Posts

Ich kenne? Datenanalyse mit Python oder Dingen, die Sie mit numpy verwenden möchten, wenn Sie möchten
Ich möchte MATLAB feval mit Python verwenden
Ich möchte Temporäres Verzeichnis mit Python2 verwenden
Wenn Sie es so verwenden möchten, wie es ist, wenn Sie es mit Lambda-Memo verwenden
Drei Dinge, von denen ich süchtig war, als ich Python und MySQL mit Docker verwendete
[Python] Ich möchte nur den Index verwenden, wenn ich eine Liste mit einer for-Anweisung schleife
Ich möchte Daten mit Python analysieren können (Teil 3)
Kenntnisse, die Sie beim Programmieren von Wettbewerben mit Python2 benötigen
Ich möchte Daten mit Python analysieren können (Teil 1)
[Python] Hinweise beim Versuch, Numpy mit Cython zu verwenden
Verwenden Sie aggdraw, wenn Sie mit Kissen schön zeichnen möchten
Ich möchte Daten mit Python analysieren können (Teil 4)
Ich möchte Daten mit Python analysieren können (Teil 2)
[Python] Ich möchte die Option -h mit argparse verwenden
Wenn Sie die Anfangsdaten von Django mit Relationen registrieren möchten
Vorsichtsmaßnahmen bei der Verwendung von Python mit AtCoder
Dinge, die Sie bei der Verwendung von CGI mit Python beachten sollten.
Ich möchte mit Python debuggen
Ich möchte das Wetter mit LINE bot feat.Heroku + Python wissen
Ich möchte wissen, ob Sie Python auf Mac ・ Iroha installieren
[Python] Wenn Sie alle Variablen in einer anderen Datei verwenden möchten
Wenn Sie ein Objekt mit Anforderungen mithilfe der Flasche senden möchten
Ich möchte ein Glas aus Python verwenden
Ich möchte Protokolle mit Python analysieren
Ich möchte mit aws mit Python spielen
Wenn Sie mehrere Versionen derselben Python-Bibliothek verwenden möchten (virtuelle Umgebung mit venv)
Ein Gist-Repository, das Sie verwenden können, wenn Sie es mit ansible ausprobieren möchten
Python Hinweis: Wenn Sie die Attribute eines Objekts kennen möchten
Ich möchte die Effizienz mit Python auch im experimentellen System verbessern. (4) Verwenden Sie ser.close (), wenn ein Fehler mithilfe der try-Syntax ausgegeben wird.
Ich habe versucht, fMRI-Daten mit Python zu analysieren (Einführung in die Dekodierung von Gehirninformationen)
Tipps (Datenstruktur), die Sie beim Programmieren von Wettbewerben mit Python2 kennen sollten
Ich möchte mit Python eine E-Mail von Google Mail senden.
Ich möchte 100 Datenwissenschaften mit Colaboratory schlagen
Ich möchte ein Spiel mit Python machen
Ich habe versucht, CloudWatch-Daten mit Python abzurufen
Ich möchte Ceres Solver aus Python verwenden
Ich möchte -inf nicht mit np.log verwenden
#Unresolved Ich möchte Gobject-Introspection mit Python3 kompilieren
Ich möchte ip vrf mit SONiC verwenden
Ich möchte APG4b mit Python lösen (Kapitel 2)
Ich möchte mit Python in eine Datei schreiben
Was verwenden Sie beim Testen mit Python?
So erstellen Sie eine Umgebung, wenn Sie Python2.7 nach der Installation von Anaconda3 verwenden möchten
Persönliche Best-Practice-Vorlage, die verwendet werden soll, wenn Sie MVP mit Flask erstellen möchten
Verwenden Sie PIL in Python, um nur die gewünschten Daten aus Exif zu extrahieren
Dinge, die Sie bei der Verwendung von Python beachten sollten, wenn Sie MATLAB verwenden
[In-Database Python Analysis-Lernprogramm mit SQL Server 2017] Schritt 2: Importieren Sie Daten mit PowerShell in SQL Server
Ich möchte mkl mit numpy und scipy unter pyenv + Poesie verwenden
Wenn Sie einen Discord-Bot mit Python erstellen möchten, verwenden wir ein Framework
Datenanalyse mit Python 2
Datenanalyse mit Python
Ich möchte die Optimierung mit Python und CPlex behandeln
Einstellungen, wenn Sie Python-Mecab mit Travis ausführen möchten
Lesehinweis: Einführung in die Datenanalyse mit Python
Wenn Sie mit dem Django REST-Framework filtern möchten
Ich möchte mit Python-Datenklasse nach hinten erben
Ich möchte mit einem Roboter in Python arbeiten.