Das Resampling von Zeitreihendaten bedeutet, die Daten für einen neuen Zeitraum zusammenzufassen oder zu aggregieren.
Wir können die folgende grundlegende Syntax verwenden, um Zeitreihendaten in Python neu abzutasten:
#Finde die …
Gelegentlich möchten Sie möglicherweise tägliche Daten zu wöchentlichen, monatlichen oder jährlichen Daten in R zusammenfassen.
In diesem Tutorial wird erklärt, wie dies mit den Paketen lubridate und dplyr einfach möglich ist.
Angenommen, wir haben das folgende Dataframe in R, der den täglichen Verkauf eines Artikels über 100 aufeinanderfolgende Tage anzeigt:
#Machen Sie dieses Beispiel reproduzierbar
set.seed(1)
# Dataframe erstellen
df <- data.frame(date = as.Date("2020-12-01") + 0:99,
sales = runif(100, 20, 50))
# Die ersten sechs Zeilen anzeigen
head(df)
date sales
1 2020-12-01 27.96526
2 2020-12-02 31.16372
3 2020-12-03 37.18560
4 2020-12-04 47.24623
5 2020-12-05 26.05046
6 2020-12-06 46.95169
Um diese Daten zu aggregieren, können wir die Funktion floor_date() aus dem lubridate-Paket verwenden, die die folgende Syntax verwendet:
floor_date(x, unit)
wo:
Die folgenden Code-Schnipsel zeigen, wie diese Funktion zusammen mit den group_by()- und summarize()-Funktionen aus dem dplyr Paket nutzen können, um den mittleren Umsatz pro Woche, Monat und Jahr zu finden:
Mittlerer Umsatz pro Woche
library(lubridate)
library(dplyr)
#Runde Daten ab bis zur Woche
df$week <- floor_date(df$date, "week")
#Finden Sie den durchschnittlichen Umsatz pro Woche
df %>%
group_by(week) %>%
summarize(mean = mean(sales))
# A tibble: 15 x 2
week mean
1 2020-11-29 33.9
2 2020-12-06 35.3
3 2020-12-13 39.0
4 2020-12-20 34.4
5 2020-12-27 33.6
6 2021-01-03 35.9
7 2021-01-10 37.8
8 2021-01-17 36.8
9 2021-01-24 32.8
10 2021-01-31 33.9
11 2021-02-07 34.1
12 2021-02-14 41.6
13 2021-02-21 31.8
14 2021-02-28 35.2
15 2021-03-07 37.1
Mittlerer Umsatz pro Monat
library(lubridate)
library(dplyr)
#Runde Daten ab bis zum Monat
df$month <- floor_date(df$date, "month")
#Finden der durchschnittliche Verkäufe pro Monat
df %>%
group_by(month) %>%
summarize(mean = mean(sales))
# A tibble: 4 x 2
month mean
1 2020-12-01 35.3
2 2021-01-01 35.6
3 2021-02-01 35.2
4 2021-03-01 37.0
Mittlerer Umsatz pro Jahr
library(lubridate)
library(dplyr)
#Runde Daten ab bis aufs Jahr
df$year <- floor_date(df$date, "year")
#Finden der durchschnittliche Verkäufe pro Jahr
df %>%
group_by(year) %>%
summarize(mean = mean(sales))
# A tibble: 2 x 2
year mean
1 2020-01-01 35.3
2 2021-01-01 35.7
Beachten Sie, dass wir uns für die Aggregation nach dem Mittelwert entschieden haben, aber wir können jede beliebige zusammenfassende Statistik verwenden, die wir möchten, wie z. B. den Median, den Modus, das Maximum, das Minimum usw.
So berechnen Sie den Mittelwert nach Gruppe in R
So berechnen Sie kumulative Summen in R
So zeichnen Sie eine Zeitreihe in R
Das Resampling von Zeitreihendaten bedeutet, die Daten für einen neuen Zeitraum zusammenzufassen oder zu aggregieren.
Wir können die folgende grundlegende Syntax verwenden, um Zeitreihendaten in Python neu abzutasten:
#Finde die …
Ein rollierender Median ist der Median einer bestimmten Anzahl früherer Perioden in einer Zeitreihe.
Um den gleitenden Median für eine Spalte in einem Pandas DataFrame zu berechnen, können wir die …