Panda: come ottenere un quarto dalla data
È possibile utilizzare i seguenti metodi per ottenere il trimestre da una data in un DataFrame panda:
Metodo 1: ottieni il trimestre dalla data (formato anno e trimestre)
df[' quarter '] = pd. PeriodIndex ( df.date , freq=' Q ')
Se la data è nel primo trimestre del 2022, restituirà il trimestre in un formato come 2022Q1 .
Metodo 2: Ottieni trimestre dalla data (formato numero trimestre)
df[' quarter '] = df[' date ']. dt . quarter
Se la data è nel primo trimestre del 2022, restituirà semplicemente il valore 1 .
I seguenti esempi mostrano come utilizzare questa sintassi in pratica con i seguenti DataFrame panda:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' date ': pd.date_range (start=' 1/1/2022 ', freq=' M ', periods= 14 ),
' sales ': [6, 8, 10, 5, 4, 8, 8, 3, 5, 14, 8, 3, 10, 12]})
#view DataFrame
print (df)
dirty date
0 2022-01-31 6
1 2022-02-28 8
2 2022-03-31 10
3 2022-04-30 5
4 2022-05-31 4
5 2022-06-30 8
6 2022-07-31 8
7 2022-08-31 3
8 2022-09-30 5
9 2022-10-31 14
10 2022-11-30 8
11 2022-12-31 3
12 2023-01-31 10
13 2023-02-28 12
Esempio 1: ottieni il trimestre dalla data (formato anno e trimestre)
Possiamo utilizzare il codice seguente per creare una nuova colonna chiamata trimestre che estrae il trimestre dalla colonna della data nel formato anno e trimestre:
#create new column that displays year and quarter from date column
df[' quarter '] = pd. PeriodIndex ( df.date , freq=' Q ')
#view updated DataFrame
print (df)
date sales quarter
0 2022-01-31 6 2022Q1
1 2022-02-28 8 2022Q1
2 2022-03-31 10 2022Q1
3 2022-04-30 5 2022Q2
4 2022-05-31 4 2022Q2
5 2022-06-30 8 2022Q2
6 2022-07-31 8 2022Q3
7 2022-08-31 3 2022Q3
8 2022-09-30 5 2022Q3
9 2022-10-31 14 2022Q4
10 2022-11-30 8 2022Q4
11 2022-12-31 3 2022Q4
12 2023-01-31 10 2023Q1
13 2023-02-28 12 2023Q1
La nuova colonna denominata trimestre contiene il quarto della colonna della data nel formato anno e trimestre.
Esempio 2: ottenere il trimestre dalla data (formato numerico del trimestre)
Possiamo utilizzare il codice seguente per creare una nuova colonna chiamata trimestre che estrae il trimestre dalla colonna della data in formato numerico trimestre.
#create new column that displays quarter from date column
df[' quarter '] = df[' date ']. dt . quarter
#view updated DataFrame
print (df)
date sales quarter
0 2022-01-31 6 1
1 2022-02-28 8 1
2 2022-03-31 10 1
3 2022-04-30 5 2
4 2022-05-31 4 2
5 2022-06-30 8 2
6 2022-07-31 8 3
7 2022-08-31 3 3
8 2022-09-30 5 3
9 2022-10-31 14 4
10 2022-11-30 8 4
11 2022-12-31 3 4
12 2023-01-31 10 1
13 2023-02-28 12 1
La nuova colonna denominata trimestre contiene il numero del trimestre dalla colonna della data in formato numerico del trimestre.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:
Come aggiungere e sottrarre giorni da una data in Pandas
Come selezionare le righe tra due date in Pandas
Come creare una colonna di date da anno, mese e giorno in Pandas