[PYTHON] [Für Anfänger] Skript innerhalb von 10 Zeilen (5. Resample von Zeitreihendaten mit Pandas)

[Für Anfänger] Skript innerhalb von 10 Zeilen (5. Resample von Zeitreihendaten mit Pandas)

Wenn Sie verschiedene Bibliotheken mit Python verwenden, dachte ich: "Es ist praktisch, weil Sie mit ein wenig Code ein kleines Ding machen und mit ein paar 5 Schritten ein kleines Skript erstellen können." Es ist also nur eine Liste von Python und anderen Befehlen. Ich kann mir das einfallen lassen, aber ich werde unregelmäßig ein 10-Schritte-Skript veröffentlichen.

Als ** 5. ** möchte ich ein Resample von Zeitreihendaten mit Pandas veröffentlichen. </ font>

Ich denke, es gibt viele Situationen, in denen Sie Verkäufe, Marktpreise von Finanzprodukten und verschiedene andere Zeitreihendaten monatlich oder vierteljährlich aggregieren möchten. Da ich weiß, dass dies mithilfe von Pandas Resample möglich ist, möchte ich ein Beispiel für eine jährliche und vierteljährliche Gesamtsumme am Beispiel von Wechselkursdaten veröffentlichen, ohne mich selbst zu vergessen.


【Umgebung】 Linux: debian10 python: 3.7.3 pandas: 1.0.3 jupyterlab: 2.1.0

Für die Daten möchte ich die Wechselkursdaten von Fred verwenden.

Wenn Sie die folgenden Daten haben

DATEDEXJ,PUS 2015-01-01,NaN 2015-01-02,120.20 2015-01-05,119.64

** Resample im Durchschnitt ** Datenrahmen .resample (Regel = 'Frequenzcode'). mean () </ font> -Frequenzcode: Jährlich ('Y'), Vierteljährlich ('Q'), Monatlich ('M'), Wöchentlich ('W')

  • Als Beispiel beim Speichern des Jahresdurchschnitts des Datenrahmens "df_dexjpus" im Datenrahmen "df_year" df_year = df_dexjpus.resample(rule='Y').mean()

1. Ein Skript, das den Austausch von Daten im Jahres- / Quartalsdurchschnitt mit Pandas neu abtastet

Der Code lief in Jupiter.

python3.7


#Wechselkurs-Resample(Jährlich / vierteljährlich / monatlich / wöchentlich)
#Wechselkursdatenrahmen(df_dexjpus)
# infile = ('./dexjpus_20200417.csv')
import pandas as pd
import matplotlib.pyplot as plt

df_dexjpus = pd.read_csv('./dexjpus_20200417.csv' ,index_col='DATE' ,parse_dates=['DATE'])

#Jährlich
df_year = df_dexjpus.resample(rule='Y').mean()

#Daten für 2017
df_2017 = df_dexjpus.loc['2017-01-01' : '2017-12-31']

#Quartalsdurchschnitt 2017
df_quarter = df_2017.resample(rule='Q').mean()    
 

2. Ich möchte mir die Skripte der Reihe nach ansehen.

** 2-1. Bibliothek importieren, Daten lesen **

python3.7



#Wechselkurs-Resample(Jährlich / vierteljährlich / monatlich / wöchentlich)
#Wechselkursdatenrahmen(df_dexjpus)
# infile = ('./dexjpus_20200417.csv')
import pandas as pd
import matplotlib.pyplot as plt

df_dexjpus = pd.read_csv('./dexjpus_20200417.csv' ,index_col='DATE' ,parse_dates=['DATE'])

df_dexjpus


	DEXJPUS
DATE 	
2015-01-01 	NaN
2015-01-02 	120.20
2015-01-05 	119.64
2015-01-06 	118.26
2015-01-07 	119.5

** 2-2. Ich werde jedes Jahr einen Blick darauf werfen. ** ** **

python3.7



#Jährlich
df_year = df_dexjpus.resample(rule='Y').mean()

df_year

	DEXJPUS
DATE 	
2015-12-31 	121.049084
2016-12-31 	108.656932
2017-12-31 	112.098554
2018-12-31 	110.397390
2019-12-31 	109.018835
2020-12-31 	108.775333

** 2-3. Nehmen wir als Beispiel 2017. ** **.

python3.7



#Daten für 2017
df_2017 = df_dexjpus.loc['2017-01-01' : '2017-12-31']

 	DEXJPUS
DATE 	
2017-01-31 	114.872105
2017-02-28 	112.911579
2017-03-31 	112.916522
2017-04-30 	110.091000
2017-05-31 	112.243636
2017-06-30 	110.914091
2017-07-31 	112.417000
2017-08-31 	109.826957
2017-09-30 	110.776000
2017-10-31 	112.914762
2017-11-30 	112.819000
2017-12-31 	112.940500

** 2-4. Abschließend möchte ich die Daten für jedes Quartal 2017 betrachten. ** **.

python3.7



#Quartalsdurchschnitt 2017
df_quarter = df_2017.resample(rule='Q').mean()

df_quarter

 	DEXJPUS
DATE 	
2017-03-31 	113.524098
2017-06-30 	111.113906
2017-09-30 	110.950476
2017-12-31 	112.891803

** Dies ist ein Resample von Zeitreihendaten mit 5.pandas. ** ** **

Recommended Posts