Python >> Programma Python >  >> Python Tag >> Pandas

Pandas DataFrame resample() Metodo


Preparazione

Prima che possa verificarsi qualsiasi manipolazione dei dati, sarà necessaria l'installazione di una (1) nuova libreria.

  • I Panda la libreria consente l'accesso a/da un DataFrame .

Per installare questa libreria, vai a un terminale IDE. Al prompt dei comandi ($ ), eseguire il codice seguente. Per il terminale utilizzato in questo esempio, il prompt dei comandi è il simbolo del dollaro ($ ). Il prompt del tuo terminale potrebbe essere diverso.

💡 Nota :Il pytz viene fornito con panda e non richiede installazione. Tuttavia, questa libreria è necessaria per tz_ localize() e tz_convert() metodi di lavoro.

$ pip install pandas

Premi il <Enter> tasto sulla tastiera per avviare il processo di installazione.

Se l'installazione è andata a buon fine, sul terminale viene visualizzato un messaggio che indica lo stesso.


Sentiti libero di visualizzare la guida all'installazione di PyCharm per la libreria richiesta.

  • Come installare Panda su PyCharm

Aggiungi il codice seguente all'inizio di ogni frammento di codice. Questo frammento consentirà al codice in questo articolo di essere eseguito senza errori.

import pandas as pd
import pytz

Ricampionamento DataFrame()

Il resample() è utile per manipolare la frequenza ei dati delle serie temporali.

Questo DataFrame/Serie deve contenere un datetime -come indice, ad esempio:

  • DatetimeIndex ,
  • PeriodIndex ,
  • TimedeltaIndex , o
  • la classe deve passare una serie/indice simile a una data al on /level parametro della parola chiave.

La sintassi per questo metodo è la seguente:

DataFrame.resample(rule, axis=0, closed=None, label=None, convention='start', kind=None, loffset=None, base=None, on=None, level=None, origin='start_day', offset=None)
Parametro Descrizione
rule Questo parametro è l'offset (stringa/oggetto) che rappresenta una conversione target.
axis Se è selezionato zero (0) o indice, applica a ciascuna colonna. Predefinito 0.
Se uno (1) si applica a ciascuna riga.
closed Questo parametro determina quale lato dell'intervallo bin è chiuso. Predefinito 'left' per tutti gli offset di frequenza tranne:
'M', 'A', 'Q', 'BM', 'BA', 'BQ' e 'W' , predefinito 'right' .
label Questo parametro determina quale bordo del raccoglitore etichettare il contenitore. Predefinito 'left' per tutti gli offset di frequenza tranne:
'Q', 'BM', 'BA', 'BQ' e 'W' , predefinito 'right' .
convention Questo parametro è il PeriodIndex e controlla se utilizzare l'inizio/la fine della regola. Le opzioni disponibili sono:'start' , 'end' , 's' o 'e' . L'impostazione predefinita è 'start' .
kind Questo parametro è un timestamp/punto ed è per il PeriodIndex .
loffset Non in uso dalla v1.1.0. Aggiungilo a df.index dopo resample() ha avuto luogo.
base Non in uso dalla v1.1.0. Usa 'offset' o 'origin' invece.
on Se un DataFrame, il datetime colonna da utilizzare al posto dell'indice per il ricampionamento.
level Un livello datetime in un MultiIndex scenario da utilizzare per il ricampionamento.
origin Il timestamp per regolare il raggruppamento. Il fuso orario di origine deve corrispondere all'indice. Se una stringa, uno dei seguenti:'epoch' , 'start' , 'start_day' , 'end' e 'end_day'
offset Questo parametro è l'offset timedelta che si aggiunge all'origine.

Rivers Clothing sta organizzando una svendita di 3 ore per una nuova linea che hanno introdotto, le sciarpe. Questo esempio ricampiona i dati sulle vendite e somma il numero totale di sciarpe vendute all'ora.

df = pd.read_csv('rivers.csv', parse_dates=['date'], index_col=['date'])
print(df)

result = df.resample('1H').sum()
print(result)
  • La riga [1] legge un file CSV, analizza la colonna della data e imposta questa colonna come indice. L'output viene salvato in df .
  • Linea [2] invia il DataFrame al terminale.
  • La riga [3] ricampiona i dati raggruppando le vendite totali di sciarpe per ora. L'output viene salvato in result .
  • Linea [4] invia il risultato al terminale.

Risultato

df

Articolo colore venduto
data
27-01-2022 08:17:00 sciarpa rosso 3
27-01-2022 08:23:00 sciarpa blu 2
27-01-2022 08:47:00 sciarpa rosa 1
27-01-2022 09:01:00 sciarpa nero 11
27-01-2022 09:28:00 sciarpa marrone 6
27-01-2022 09:51:00 sciarpa bordeaux 15
27-01-2022 10:11:00 sciarpa nero 21
27-01-2022 10:13:00 sciarpa marrone 10
27-01-2022 10:22:00 sciarpa nero 9
27-01-2022 10:28:00 sciarpa marina 30

result

venduto
data
27-01-2022 08:00:00 6
27-01-2022 09:00:00 32
27-01-2022 10:00:00 70

Più metodi Pandas DataFrame

Sentiti libero di saperne di più sui metodi DataFrame Panda precedenti e successivi (in ordine alfabetico) qui:

Inoltre, controlla la panoramica completa del cheat sheet di tutti i metodi Pandas DataFrame.