Ce este Sinele în Python: Exemple din lumea reală
Ce este Sinele în Python: Exemple din lumea reală
Când lucrați cu proiecte de date în Python, este cel mai probabil să utilizați funcții datetime. Aproape fiecare set de date cu care veți lucra va avea o coloană datetime pe care veți dori să o manipulați în funcție de nevoile și cerințele proiectului.
Din fericire, Python vine cu propriul său modul încorporat numit datetime , care vă permite să reprezentați, să manipulați și să efectuați operațiuni cu instanțe datetime, cum ar fi date, ore și combinații ale celor două. Stăpânirea modulului Python datetime vă va ajuta să faceți analize mai solide de serie de timp în proiectele dvs.
Modulul Python datetime este un instrument pentru gestionarea datelor, orelor și intervalelor de timp. Vă permite să efectuați diverse operații pe date și ore într-un mod simplu.
Rezumat de programare – cod sursă și cod binar pe afișajul dezvoltatorului de software. Tema neagră cu sintaxă colorată.
Folosind modulul datetime din Python , puteți lucra cu ușurință cu valori de dată și oră, puteți gestiona fusurile orare, efectuați calcule și chiar gestionați formatarea și analizarea diferitelor reprezentări. Această funcționalitate face din modulul datetime un instrument esențial în multe aplicații, de la procesarea datelor până la programarea evenimentelor și nu numai.
Înainte de a începe să utilizați modulul datetime al lui Python în proiectele dvs., este esențial să înțelegeți clasele subiacente. În secțiunea de mai jos, ne vom uita la cele cinci clase principale ale modulului DateTime al lui Python. Să intrăm în ea!
Cuprins
Care sunt cele 5 clase principale ale modulului Python Datetime?
Modulul Python Datetime este o parte a bibliotecii standard care oferă clase pentru a manipula și a lucra cu date, ore, fusuri orare și durate.
Modulul constă din cinci clase principale:
Datetime
Data,
Timp,
Timedelta
Fus orar.
Vom analiza fiecare clasă urmată de un exemplu de cazuri de utilizare pentru a vă ajuta să înțelegeți mai bine conceptul.
Cum să utilizați clasa Datetime
Clasa Python Datetime este cea mai des folosită clasă din modul. Reprezintă un singur moment în timp cu atribute precum anul, lună, zi, oră, minut, secundă și microsecundă.
Unele operații comune cu clasa Python Datetime includ:
datetime.datetime.now()
Această funcție vă permite să obțineți data și ora curente. Următorul este un exemplu de preluare a datei și orei curente:
import datetime
# Get the current date and time
now = datetime.datetime.now()
print("Current date and time: ", now)
Aceasta va afișa data și ora curentă în momentul execuției în formatul AAAA-LL-ZZ HH:MM:SS.ssssss.
datetime.datetime
Această funcție vă permite să creați un obiect de dată și oră personalizat. Următorul este un exemplu de utilizare a datetime.datetime în codul dvs.:
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)
Pe lângă funcțiile de mai sus, clasa Datetime oferă și metode de lucru cu data și ora, cum ar fi:
strftime() :
Metoda vă permite să formatați obiectele date și oră ca șir. Următorul este un exemplu de metodă 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)
Acest cod va converti obiectul datetime într-un șir:
strptime() :
Această funcție din clasa datetime vă permite să analizați un șir reprezentând obiectele date și oră într-un singur obiect Datetime. Următorul este un exemplu de analiză a unei date stocate ca șir într-un obiect 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)
Acest lucru va converti șirul într-un obiect DateTime.
Cum să utilizați clasa de date
Clasa Date vă permite să vă ocupați exclusiv de obiecte date (an, lună și zi). Puteți crea obiecte de date cu clasa de date.
Unele operațiuni comune cu clasa Date includ:
datetime.date.today()
Această funcție din clasa de date vă permite să obțineți data curentă. Următorul este un exemplu de preluare a datei curente cu clasa de date:
import datetime
# Get the current date
today = datetime.date.today()
print("Today's date: ", today)
Acest cod Python va scoate data curentă în momentul execuției în formatul AAAA-LL-ZZ.
La momentul scrierii acestui articol, data curentă era 2023-05-22.
datetime.date()
Această funcție din clasa de date vă permite să creați obiecte de dată. Exemplul demonstrează crearea unui obiect data personalizat cu funcția datetime.date():
import datetime
# Create a custom date object
custom_date = datetime.date(2023, 5, 22)
print("Custom date: ", custom_date)
În funcția datetime.date(), furnizați anul, luna și ziua ca argumente.
Acest script va afișa 2023-05-22, deoarece ați creat un obiect de dată personalizat pentru data de 22 mai 2023.
Clasa Date oferă și metode utile, cum ar fi:
zi lucrătoare ()
This method in the date class returns the day of the week (0 for Monday, 1 for Tuesday, etc.). The following example demonstrates the weekday() method:
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 this example, custom_date.weekday() will return 0 because May 22, 2023, falls on a Monday.
strftime()
This method in the date class allows you to format the date object as a string. The following example demonstrates strftime() function:
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)
This will output the date formatted as “Month day, Year”.
strptime()
This method allows you to parse a string representing a date into a Date object. The following is an example of converting a string date into a Date object:
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)
This will output the date object created from the date string.
How to Use the Time Class
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.
Sarcina noastră este să transformăm aceste date și ore în obiecte DateTime și să efectuăm operațiuni asupra lor după cum este necesar.
Să presupunem că ni se oferă următorul set de date:
Dacă verificăm tipurile de date ale variabilei, vom vedea că data și ora sunt stocate ca șir. Prin urmare, înainte de a efectua orice analiză, trebuie să convertim coloanele de dată și oră într-un format adecvat.
Pentru a face acest lucru, putem folosi următorul cod:
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)
În acest bloc de cod, creăm mai întâi o nouă coloană „DateTime” în DataFrame prin concatenarea coloanelor „Date” și „Ora”. Apoi, aplicăm funcția datetime.strptime fiecărei valori din această nouă coloană pentru a converti șirurile de dată și oră în obiecte datetime. În cele din urmă, tipărim DataFrame pentru a vedea rezultatul.
Următorul lucru pe care am dori să-l facem este să calculăm diferența dintre două evenimente. Pentru a face acest lucru putem folosi următorul cod:
duration = df.loc[1, 'DateTime'] - df.loc[0, 'DateTime']
print("Duration between Event1 and Event2: ", duration)
Acest script Python va calcula durata dintre „Event1” și „Event2”.
În cele din urmă, să convertim obiectele datetime într-un alt fus orar. Când se poate realiza acest lucru folosind funcțiile Timezone din modulul 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)
În acest cod, creăm un obiect fus orar pentru UTC. Apoi, creăm o nouă coloană în DataFrame numită „DateTime_UTC” prin aplicarea unei funcții lambda coloanei noastre „DateTime”. Aceasta va înlocui informațiile de fus orar ale fiecărui obiect datetime cu UTC.
Prin exemplul de studiu de caz de mai sus, vedeți cum diferitele funcții furnizate de modulul DateTime lucrează împreună pentru a manipula datele și orele într-un format adecvat.
Acum că sunteți familiarizat cu unele dintre funcțiile din modulul datetime, să mergem mai departe și să ne uităm la câteva funcții suplimentare pe care veți dori să le utilizați pe măsură ce vă ocupați de proiecte mai complexe.
În afară de funcțiile enumerate mai sus, există multe mai multe funcții utile pe care le puteți utiliza în funcție de problema în cauză. Dezvoltatorii Python păstrează adesea o pagină de documentație deschisă pentru a căuta funcții care pot satisface nevoile dvs. Și vă sugerăm să faceți același lucru!
Funcții suplimentare de dată și oră
În această secțiune, vom discuta despre funcțiile suplimentare din modulul Python datetime . Aceasta include preluarea numelor zilelor săptămânii, lunii și zilelor săptămânii, împreună cu funcția ctime() .
Cum să preluați zilele săptămânii de la o dată
Modulul datetime vine cu o funcție weekday() , care returnează ziua săptămânii ca un număr întreg (unde luni este 0 și duminică este 6).
Pentru a utiliza această funcție, o puteți apela pe un obiect dată sau oră.
import datetime
today = datetime.date.today()
weekday_number = today.weekday()
print(weekday_number)
Ieșirea codului de mai sus este dată în imaginea de mai jos:
Data locală actuală este 23.05.2023, iar ziua săptămânii este luni.
Cum să preluați numele lunilor și zilelor săptămânii de la o dată
datetime vă permite, de asemenea, să preluați numele lunii și ziua săptămânii.
Puteți utiliza funcția strftime() , care formatează un obiect de dată sau de oră ca șir.
Următorul este un exemplu de utilizare a funcției strftime() pentru a obține numele lunii și ziua săptămânii:
import datetime
today = datetime.date.today()
weekday_name = today.strftime('%A')
month_name = today.strftime('%B')
print(weekday_name)
print(month_name)
Acest cod va tipări în rezultat numele zilei săptămânii și al lunii.
Cum să utilizați funcția Ctime
Funcția ctime() din modulul datetime returnează o reprezentare în șir a unui obiect dată sau dată și oră, formatată ca „Day Mon DD HH:MM:SS AAAA”.
ctime este o metodă pentru un obiect datetime , nu o funcție autonomă.
Următorul este un exemplu de utilizare a funcției ctime în codul dvs.:
import datetime
now = datetime.datetime.now()
formatted_date = now.ctime()
print(formatted_date)
Codul de mai sus va returna o reprezentare șir a obiectului dată.
Pentru a afla mai multe despre lucrul cu datele din serii temporale, aruncați o privire la următorul videoclip:
Gânduri finale
Ca programator Python, stăpânirea modulului datetime este importantă. Este un set de instrumente care vă permite să vă ocupați de date, ore și intervale de timp. Acestea sunt elementele pe care le veți întâlni frecvent în datele din lumea reală.
Veți avea nevoie de acest modul pentru a converti șiruri de caractere în obiecte date și oră, pentru a gestiona conversiile fusului orar și pentru a efectua operațiuni pe date și ore.
Învățând cum să utilizați modulul datetime, veți fi mai bine pregătit să vă ocupați de aceste sarcini în propriile proiecte!
Ce este Sinele în Python: Exemple din lumea reală
Veți învăța cum să salvați și să încărcați obiecte dintr-un fișier .rds în R. Acest blog va trata, de asemenea, cum să importați obiecte din R în LuckyTemplates.
În acest tutorial despre limbajul de codare DAX, aflați cum să utilizați funcția GENERATE și cum să schimbați în mod dinamic titlul unei măsuri.
Acest tutorial va acoperi cum să utilizați tehnica Multi Threaded Dynamic Visuals pentru a crea informații din vizualizările dinamice de date din rapoartele dvs.
În acest articol, voi trece prin contextul filtrului. Contextul de filtrare este unul dintre subiectele majore despre care orice utilizator LuckyTemplates ar trebui să învețe inițial.
Vreau să arăt cum serviciul online LuckyTemplates Apps poate ajuta la gestionarea diferitelor rapoarte și informații generate din diverse surse.
Aflați cum să vă calculați modificările marjei de profit folosind tehnici precum măsurarea ramificării și combinarea formulelor DAX în LuckyTemplates.
Acest tutorial va discuta despre ideile de materializare a cache-urilor de date și despre modul în care acestea afectează performanța DAX-ului în furnizarea de rezultate.
Dacă încă utilizați Excel până acum, atunci acesta este cel mai bun moment pentru a începe să utilizați LuckyTemplates pentru nevoile dvs. de raportare a afacerii.
Ce este LuckyTemplates Gateway? Tot ce trebuie să știți