Cosè il sé in Python: esempi del mondo reale
Cos'è il sé in Python: esempi del mondo reale
Quando si lavora con progetti di dati in Python, è molto probabile che si utilizzino le funzioni datetime. Quasi tutti i set di dati con cui lavorerai avranno una colonna datetime che vorrai manipolare in base alle tue esigenze e ai requisiti del progetto.
Fortunatamente, Python viene fornito con il proprio modulo integrato denominato datetime che consente di rappresentare, manipolare ed eseguire operazioni con istanze di datetime come date, orari e combinazioni dei due. Padroneggiare il modulo Python datetime ti aiuterà a realizzare analisi di serie temporali più solide nei tuoi progetti.
Il modulo Python datetime è uno strumento per la gestione di date, orari e intervalli di tempo. Ti consente di eseguire varie operazioni su date e orari in modo semplice.
Estratto di programmazione: codice sorgente e codice binario visualizzati dallo sviluppatore del software. Tema nero con sintassi colorata.
Utilizzando il modulo datetime in Python , puoi facilmente lavorare con valori di data e ora, gestire fusi orari, eseguire calcoli e persino gestire la formattazione e l'analisi per varie rappresentazioni. Questa funzionalità rende il modulo datetime uno strumento essenziale in molte applicazioni, dall'elaborazione dei dati alla pianificazione degli eventi e oltre.
Prima di iniziare a utilizzare il modulo datetime di Python nei tuoi progetti, è fondamentale comprendere le classi sottostanti. Nella sezione seguente, esamineremo le cinque classi principali del modulo DateTime di Python. Entriamo in esso!
Sommario
Quali sono le 5 classi principali del modulo Python Datetime?
Il modulo Python Datetime fa parte della libreria standard che fornisce classi per manipolare e lavorare con date, orari, fusi orari e durate.
Il modulo si compone di cinque classi principali:
Appuntamento
Data,
Tempo,
Deltatempo
Fuso orario.
Esamineremo ogni classe seguita da casi d'uso di esempio per aiutarti a comprendere meglio il concetto.
Come utilizzare la classe Datetime
La classe Python Datetime è la classe più comunemente usata nel modulo. Rappresenta un singolo punto nel tempo con attributi come anno, mese, giorno, ora, minuto, secondo e microsecondo.
Alcune operazioni comuni con la classe Python Datetime includono:
dataora.dataora.ora()
Questa funzione consente di ottenere la data e l'ora correnti. Di seguito è riportato un esempio di recupero della data e dell'ora correnti:
import datetime
# Get the current date and time
now = datetime.datetime.now()
print("Current date and time: ", now)
Questo produrrà la data e l'ora correnti al momento dell'esecuzione nel formato AAAA-MM-GG HH:MM:SS.ssssss.
dataora.dataora
Questa funzione consente di creare un oggetto data e ora personalizzato. Di seguito è riportato un esempio di utilizzo di datetime.datetime nel codice:
from datetime import date
# Create a custom date and time object
custom_date = datetime.datetime(2023, 5, 22, 17, 40)
print("Custom date and time: ", custom_date)
Oltre alle funzioni di cui sopra, la classe Datetime fornisce anche metodi per lavorare con data e ora come:
strftime() :
Il metodo consente di formattare gli oggetti data e ora come stringa. Di seguito è riportato un esempio di metodo strftime():
import datetime
# Create a custom date and time object
custom_date = datetime.datetime(2023, 5, 22, 17, 40)
# Format the datetime object as a string
formatted_date = custom_date.strftime("%B %d, %Y, %H:%M")
print("Formatted date and time: ", formatted_date)
Questo codice convertirà l'oggetto datetime in una stringa:
strptime() :
Questa funzione nella classe datetime consente di analizzare una stringa che rappresenta gli oggetti data e ora in un singolo oggetto Datetime. Di seguito è riportato un esempio di analisi di una data archiviata come stringa in un oggetto Datetime:
import datetime
# String representing a date and time
date_string = "May 22, 2023, 17:40"
# Parse the string into a datetime object
parsed_date = datetime.datetime.strptime(date_string, "%B %d, %Y, %H:%M")
print("Parsed date and time: ", parsed_date)
Questo convertirà la stringa in un oggetto DateTime.
Come utilizzare la classe data
La classe Date consente di gestire esclusivamente oggetti data (anno, mese e giorno). È possibile creare oggetti data con la classe data.
Alcune operazioni comuni con la classe Date includono:
dataora.data.oggi()
Questa funzione nella classe data consente di ottenere la data corrente. Di seguito è riportato un esempio di recupero della data corrente con la classe data:
import datetime
# Get the current date
today = datetime.date.today()
print("Today's date: ", today)
Questo codice Python restituirà la data corrente al momento dell'esecuzione nel formato AAAA-MM-GG.
Al momento della stesura di questo articolo, la data corrente era 2023-05-22.
dataora.data()
Questa funzione nella classe data consente di creare oggetti data. L'esempio mostra la creazione di un oggetto data personalizzato con la funzione datetime.date():
import datetime
# Create a custom date object
custom_date = datetime.date(2023, 5, 22)
print("Custom date: ", custom_date)
Nella funzione datetime.date(), fornisci l'anno, il mese e il giorno come argomenti.
Questo script produrrà 2023-05-22, poiché hai creato un oggetto data personalizzato per la data 22 maggio 2023.
La classe Date fornisce anche metodi utili, come:
giorno feriale()
Questo metodo nella classe date restituisce il giorno della settimana (0 per lunedì, 1 per martedì e così via). L'esempio seguente mostra il metodo weekday():
import datetime
# Create a custom date object
custom_date = datetime.date(2023, 5, 22)
# Get the day of the week
day_of_week = custom_date.weekday()
print("Day of the week: ", day_of_week)
In questo esempio, custom_date.weekday() restituirà 0 perché il 22 maggio 2023 cade di lunedì.
strftime()
Questo metodo nella classe data consente di formattare l'oggetto data come stringa . L'esempio seguente mostra la funzione strftime():
import datetime
# Create a custom date object
custom_date = datetime.date(2023, 5, 22)
# Format the date object as a string
formatted_date = custom_date.strftime("%B %d, %Y")
print("Formatted date: ", formatted_date)
Questo produrrà la data formattata come "giorno del mese, anno".
strptime()
Questo metodo consente di analizzare una stringa che rappresenta una data in un oggetto Date. Di seguito è riportato un esempio di conversione di una data stringa in un oggetto Date:
import datetime
# String representing a date
date_string = "May 22, 2023"
# Parse the string into a date object
parsed_date = datetime.datetime.strptime(date_string, "%B %d, %Y").date()
print("Parsed date: ", parsed_date)
Questo produrrà l'oggetto data creato dalla stringa della data.
Come utilizzare la classe temporale
The Time class allows you to work with time instances (hour, minute, second, microsecond). With the time class, you can create a custom time object with datetime.time().
The following example demonstrates creating a custom time object:
import datetime
# Create a custom time object
custom_time = datetime.time(17, 40)
print("Custom time: ", custom_time)
In the datetime.time() function, you provide the hour and minute as arguments.
This script will output 17:40:00, as specified in the Python code.
The Time class provides useful methods, such as:
strftime()
This method allows you to format the time object as a string. Below is an example of this function:
import datetime
# Create a custom time object
custom_time = datetime.time(17, 40)
# Format the time object as a string
formatted_time = custom_time.strftime("%H:%M")
print("Formatted time: ", formatted_time)
This will output the local time formatted as “Hour:Minute”.
strptime()
This function allows you to parse a string representing time into a Time object. The following example demonstrates this function:
from datetime import time
# String representing a time
time_string = "17:40"
# Parse the string into a time object
parsed_time = datetime.datetime.strptime(time_string, "%H:%M").time()
print("Parsed time: ", parsed_time)
This will output the time objects created from the time string.
How to Use The Timedelta Class
The Timedelta class allows you to represent represents a duration or difference between two dates or times.
With Timedelta class, you can perform the following operations:
Calculate the difference between two dates or times
An example of calculating the difference between two dates is given below:
import datetime
# Create two custom date objects
date1 = datetime.date(2023, 5, 22)
date2 = datetime.date(2023, 6, 1)
# Calculate the difference between the two dates
date_difference = date2 - date1
print("Difference between the dates is: ", date_difference.days, "days")
In this example, date_difference is a timedelta object representing the difference between date2 and date1. The .days property gives the number of days between the two dates.
Add or subtract a duration to a date or time
An example of adding a duration to a date is given below:
import datetime
# Create a custom date object
custom_date = datetime.date(2023, 5, 22)
# Create a duration of 10 days
duration = datetime.timedelta(days=10)
# Add the duration to the date
new_date = custom_date + duration
print("New date: ", new_date)
In this example, duration is a timedelta object representing a duration of 10 days. We use the + operator to add this duration to custom_date.
How to Use the Timezone Class
The Timezone class allows you to handle time zones and daylight saving time adjustments.
You can perform the following operation with timezone class:
To create a timezone object, you can use the datetime.timezone() function. The following example demonstrates creating a timezone object:
import datetime
# Create a timezone object for a timezone 2 hours ahead of UTC
two_hours_ahead = datetime.timezone(datetime.timedelta(hours=2))
print("Timezone object: ", two_hours_ahead)
In this example, two_hours_ahead is a timezone object representing a timezone that is 2 hours ahead of Coordinated Universal Time (UTC).
This script will output a timezone object like .
To achieve this, you can use the .replace(tzinfo=tz) function. The following example demonstrates this function:
import datetime
# Create a naive datetime object
naive_datetime = datetime.datetime(2023, 5, 22, 17, 40)
# Create a timezone object for a timezone 2 hours ahead of UTC
two_hours_ahead = datetime.timezone(datetime.timedelta(hours=2))
# Convert the naive datetime object to an aware object
aware_datetime = naive_datetime.replace(tzinfo=two_hours_ahead)
print("Aware datetime object: ", aware_datetime)
In this example, naive_datetime is a datetime object that does not have any timezone information. The two_hours_ahead variable is a timezone object representing a timezone that is 2 hours ahead of UTC.
The replace(tzinfo=two_hours_ahead) method is used to create a new datetime object with the same date and time as naive_datetime, but with tzinfo set to two_hours_ahead.
The Timezone helps you maintain accurate and consistent time values when working with data that spans multiple time zones.
You have gone through some of the most important functions in the datetime module in Python. In the next section we will implement some of the above functions to a case studywhich will give you a practical look into the implementation of these datetime module in your projects.
Implementing the DateTime Module Functions to a Case Study
Let’s consider a case study where we are given a dataset of different events that happened around the world. The dataset has corresponding dates and times in a string format.
Il nostro compito è trasformare queste date e orari in oggetti DateTime ed eseguire operazioni su di essi secondo necessità.
Supponiamo di avere il seguente set di dati:
Se controlliamo i tipi di dati della variabile vedremo che la data e l'ora sono memorizzate come una stringa. Pertanto, prima di eseguire qualsiasi analisi, dobbiamo convertire le colonne di data e ora in un formato adatto.
Per fare ciò, possiamo utilizzare il seguente codice:
import datetime
# Convert 'Date' and 'Time' strings into datetime objects
df['DateTime'] = df['Date'] + ' ' + df['Time']
df['DateTime'] = df['DateTime'].apply(lambda x: datetime.datetime.strptime(x, "%b %d, %Y %H:%M"))
print(df)
In questo blocco di codice, per prima cosa creiamo una nuova colonna "DateTime" nel tuo DataFrame concatenando le colonne "Date" e "Time". Quindi, applichiamo la funzione datetime.strptime a ogni valore in questa nuova colonna per convertire le stringhe di data e ora in oggetti datetime. Infine, stampiamo il DataFrame per vedere il risultato.
La prossima cosa che vorremmo fare è calcolare la differenza tra due eventi. Per fare ciò possiamo utilizzare il seguente codice:
duration = df.loc[1, 'DateTime'] - df.loc[0, 'DateTime']
print("Duration between Event1 and Event2: ", duration)
Questo script Python calcolerà la durata tra 'Event1' e 'Event2'.
Infine, convertiamo gli oggetti datetime in un fuso orario diverso. When può raggiungere questo obiettivo utilizzando le funzioni Timezone nel modulo datetime.
# Create a timezone object for UTC
utc_tz = datetime.timezone(datetime.timedelta(0))
# Convert the datetime objects into UTC
df['DateTime_UTC'] = df['DateTime'].apply(lambda x: x.replace(tzinfo=utc_tz))
print(df)
In questo codice, creiamo un oggetto fuso orario per UTC. Successivamente, creiamo una nuova colonna nel nostro DataFrame denominata "DateTime_UTC" applicando una funzione lambda alla nostra colonna "DateTime". Questo sostituirà le informazioni sul fuso orario di ciascun oggetto datetime con UTC.
Attraverso il caso di studio di esempio sopra, puoi vedere come le varie funzioni fornite dal modulo DateTime lavorano insieme per manipolare date e orari in un formato adatto.
Ora che hai familiarità con alcune delle funzioni nel modulo datetime, andiamo avanti e diamo un'occhiata ad alcune funzioni aggiuntive che vorrai usare mentre affronti progetti più complessi.
Oltre alle funzioni sopra elencate, ci sono molte altre funzioni utili che puoi utilizzare a seconda del problema in questione. Gli sviluppatori Python spesso tengono aperta una pagina di documentazione per cercare funzioni che possano soddisfare le tue esigenze. E ti suggeriamo di fare lo stesso!
Ulteriori funzioni di data e ora
In questa sezione, discuteremo le funzioni aggiuntive nel modulo datetime di Python . Ciò include il recupero dei nomi dei giorni della settimana, dei mesi e dei giorni della settimana, insieme alla funzione ctime() .
Come recuperare i giorni della settimana da una data
Il modulo datetime viene fornito con una funzione weekday() , che restituisce il giorno della settimana come numero intero (dove lunedì è 0 e domenica è 6).
Per utilizzare questa funzione, puoi chiamarla su un oggetto data o data/ora.
import datetime
today = datetime.date.today()
weekday_number = today.weekday()
print(weekday_number)
L'output del codice precedente è riportato nell'immagine seguente:
La data locale corrente è 23/05/2023 e il giorno della settimana è lunedì.
Come recuperare i nomi dei mesi e dei giorni della settimana da una data
datetime permette anche di recuperare il nome del mese e il giorno della settimana.
È possibile utilizzare la funzione strftime() , che formatta un oggetto data o datetime come stringa.
Di seguito è riportato un esempio di come utilizzare la funzione strftime() per ottenere il nome del mese e il giorno della settimana:
import datetime
today = datetime.date.today()
weekday_name = today.strftime('%A')
month_name = today.strftime('%B')
print(weekday_name)
print(month_name)
Questo codice stamperà il nome del giorno della settimana e il nome del mese nell'output.
Come utilizzare la funzione Ctime
La funzione ctime() nel modulo datetime restituisce una rappresentazione di stringa di un oggetto data o data/ora, formattato come "Day Mon DD HH:MM:SS YYYY".
ctime è un metodo per un oggetto datetime , non una funzione autonoma.
Di seguito è riportato un esempio di utilizzo della funzione ctime nel codice:
import datetime
now = datetime.datetime.now()
formatted_date = now.ctime()
print(formatted_date)
Il codice precedente restituirà una rappresentazione di stringa dell'oggetto data.
Per ulteriori informazioni sull'utilizzo dei dati delle serie temporali, dai un'occhiata al seguente video:
Pensieri finali
Come programmatore Python, è importante padroneggiare il modulo datetime. È un toolkit che ti consente di gestire date, orari e intervalli di tempo. Questi sono gli elementi che incontrerai frequentemente nei dati del mondo reale.
Avrai bisogno di questo modulo per convertire le stringhe in oggetti datetime, gestire le conversioni di fuso orario ed eseguire operazioni su date e orari.
Imparando a utilizzare il modulo datetime, sarai meglio preparato a gestire queste attività nei tuoi progetti!
Cos'è il sé in Python: esempi del mondo reale
Imparerai come salvare e caricare oggetti da un file .rds in R. Questo blog tratterà anche come importare oggetti da R a LuckyTemplates.
In questa esercitazione sul linguaggio di codifica DAX, scopri come usare la funzione GENERATE e come modificare dinamicamente il titolo di una misura.
Questo tutorial illustrerà come utilizzare la tecnica di visualizzazione dinamica multi-thread per creare approfondimenti dalle visualizzazioni di dati dinamici nei report.
In questo articolo, esaminerò il contesto del filtro. Il contesto del filtro è uno degli argomenti principali che qualsiasi utente di LuckyTemplates dovrebbe inizialmente conoscere.
Voglio mostrare come il servizio online di LuckyTemplates Apps può aiutare nella gestione di diversi report e approfondimenti generati da varie fonti.
Scopri come elaborare le modifiche al margine di profitto utilizzando tecniche come la ramificazione delle misure e la combinazione di formule DAX in LuckyTemplates.
Questo tutorial discuterà delle idee di materializzazione delle cache di dati e di come influiscono sulle prestazioni dei DAX nel fornire risultati.
Se finora utilizzi ancora Excel, questo è il momento migliore per iniziare a utilizzare LuckyTemplates per le tue esigenze di reportistica aziendale.
Che cos'è il gateway LuckyTemplates? Tutto quello che devi sapere