Hogyan kommentáljunk Pythonban – Rövid útmutató kezdőknek
Hogyan kommentáljunk Pythonban – Rövid útmutató kezdőknek
Amikor Pythonban adatprojektekkel dolgozik, valószínűleg dátum-idő függvényeket használ. Szinte minden adatkészlethez, amellyel dolgozni fog, lesz egy dátum és idő oszlop, amelyet az igényeinek és a projekt követelményeinek megfelelően módosítani szeretne.
Szerencsére a Python saját beépített, datetime nevű modullal rendelkezik , amely lehetővé teszi a dátumidő-példányok ábrázolását, manipulálását és műveletek végrehajtását, például dátumokat, időpontokat és a kettő kombinációit. A Python datetime moduljának elsajátítása segít robusztusabb idősorelemzések készítésében a projektekben.
A Python datetime modul a dátumok, időpontok és időintervallumok kezelésére szolgáló eszköz. Lehetővé teszi a különböző műveletek egyszerű végrehajtását dátumokon és időpontokban.
Programozási absztrakt – forráskód és bináris kód a szoftverfejlesztő kijelzőjén. Fekete téma színes szintaxissal.
A dátum-idő modul használatával egyszerűen dolgozhat a dátum- és időértékekkel, kezelheti az időzónákat, végezhet számításokat, és még a formázást és elemzést is kezelheti a különféle ábrázolásokhoz. Ez a funkció a datetime modult számos alkalmazás alapvető eszközévé teszi, az adatfeldolgozástól az eseményütemezésig és azon túl is.
Mielőtt elkezdené használni a Python datetime modulját a projektekben, döntő fontosságú, hogy megértse a mögöttes osztályait. Az alábbi részben a Python DateTime moduljának öt fő osztályát tekintjük meg. Menjünk bele!
Tartalomjegyzék
Mi a Python Datetime Modul 5 fő osztálya?
A Python Datetime modul a szabványos könyvtár része, amely osztályokat biztosít a dátumok, időpontok, időzónák és időtartamok kezeléséhez és kezeléséhez.
A modul öt fő osztályból áll:
Dátum idő
Dátum,
Idő,
Timedelta
Időzóna.
Megvizsgálunk minden osztályt, majd egy használati esetet mutatunk be, hogy segítsünk jobban megérteni a koncepciót.
Hogyan használjuk a Datetime osztályt
A Python Datetime osztály a modul leggyakrabban használt osztálya. Egyetlen időpontot képvisel olyan attribútumokkal, mint az év, hónap, nap, óra, perc, másodperc és mikroszekundum.
Néhány gyakori művelet a Python Datetime osztállyal:
dátumidő.dátumidő.most()
Ez a funkció lehetővé teszi az aktuális dátum és idő lekérdezését. A következő példa az aktuális dátum és idő lekérésére:
import datetime
# Get the current date and time
now = datetime.datetime.now()
print("Current date and time: ", now)
Ez az aktuális dátumot és időt a végrehajtás pillanatában ÉÉÉÉ-HH-NN ÓÓ:PP:SS.ssssss formátumban adja ki.
datetime.datetime
Ez a funkció lehetővé teszi egyéni dátum és idő objektumok létrehozását. A következő példa a datetime.datetime használatára a kódban:
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)
A fenti függvényeken kívül a Datetime osztály olyan módszereket is biztosít a dátummal és idővel való munkavégzéshez, mint például:
strftime() :
A metódus lehetővé teszi a dátum és idő objektumok karakterláncként történő formázását. A következő példa az strftime() metódusra:
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)
Ez a kód a datetime objektumot karakterláncsá alakítja:
strptime() :
Ez a függvény a datetime osztályban lehetővé teszi a dátum és idő objektumokat reprezentáló karakterlánc egyetlen Datetime objektummá történő elemzését. A következő példa egy karakterláncként tárolt dátum Datetime objektumra történő elemzésére látható:
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)
Ez átalakítja a karakterláncot DateTime objektummá.
A dátum osztály használata
A Dátum osztály lehetővé teszi, hogy kizárólag dátumobjektumokkal (év, hónap és nap) foglalkozzon. Dátum objektumokat hozhat létre a dátum osztállyal.
Néhány gyakori művelet a Dátum osztállyal:
dátumidő.dátum.ma()
Ez a függvény a dátum osztályban lehetővé teszi az aktuális dátum lekérését. A következő példa az aktuális dátum lekérésére szolgál a dátumosztállyal:
import datetime
# Get the current date
today = datetime.date.today()
print("Today's date: ", today)
Ez a Python-kód az aktuális dátumot adja ki a végrehajtás pillanatában ÉÉÉÉ-HH-NN formátumban.
A cikk írásakor az aktuális dátum 2023-05-22 volt.
datetime.date()
Ez a függvény a dátum osztályban lehetővé teszi dátum objektumok létrehozását. A példa egy egyéni dátumobjektum létrehozását mutatja be datetime.date() függvénnyel:
import datetime
# Create a custom date object
custom_date = datetime.date(2023, 5, 22)
print("Custom date: ", custom_date)
A datetime.date() függvényben argumentumként adja meg az évet, a hónapot és a napot.
Ez a szkript 2023-05-22-t fog kiadni, mivel egyéni dátumobjektumot hozott létre a 2023. május 22-i dátumhoz.
A Dátum osztály hasznos módszereket is kínál, mint például:
hétköznap()
Ez a metódus a dátum osztályban a hét napját adja vissza (0 a hétfő, 1 a kedd stb.). A következő példa a hétköznap() metódust mutatja be:
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)
Ebben a példában a custom_date.weekday() 0-t ad vissza, mert 2023. május 22-e hétfőre esik.
strftime()
Ez a dátum osztály metódusa lehetővé teszi a dátum objektum karakterláncként történő formázását . A következő példa az strftime() függvényt mutatja be:
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)
Ez a dátumot „Hónap nap, év” formátumban adja ki.
strptime()
Ez a módszer lehetővé teszi egy dátumot reprezentáló karakterlánc Date objektummá történő elemzését. A következő példa egy karakterlánc dátum Date objektummá konvertálására:
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)
Ez kiírja a dátum karakterláncból létrehozott dátum objektumot.
Az időosztály használata
Az Idő osztály lehetővé teszi, hogy időpéldányokkal dolgozzon (óra, perc, másodperc, mikroszekundum). Az időosztállyal egyéni időobjektumot hozhat létre a datetime.time() paraméterrel.
A következő példa egy egyéni időobjektum létrehozását mutatja be:
import datetime
# Create a custom time object
custom_time = datetime.time(17, 40)
print("Custom time: ", custom_time)
A datetime.time() paraméterben az órát és a percet adja meg argumentumként.
Ez a szkript 17:40:00-at ad ki a Python-kódban meghatározottak szerint.
A Time osztály hasznos módszereket kínál, mint például:
strftime()
Ezzel a módszerrel az időobjektumot karakterláncként formázhatja. Az alábbiakban egy példa erre a funkcióra:
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)
Ez a helyi időt „Óra:perc” formátumban adja ki.
strptime()
Ez a funkció lehetővé teszi az időt reprezentáló karakterlánc időobjektummá történő elemzését. A következő példa ezt a funkciót mutatja be:
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)
Ez kiírja az idő karakterláncból létrehozott időobjektumokat.
A Timedelta osztály használata
A Timedelta osztály lehetővé teszi, hogy két dátum vagy időpont közötti időtartamot vagy különbséget ábrázolja.
A Timedelta osztállyal a következő műveleteket hajthatja végre:
Számítsa ki két dátum vagy időpont közötti különbséget
Az alábbiakban látható egy példa a két dátum közötti különbség kiszámítására:
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.
A legtöbben mentél keresztül. A következő részben a fenti funkciók közül néhányat megvalósítunk egy esettanulmányban, amely gyakorlati betekintést nyújt ezeknek a datetime moduloknak a projektjeiben való megvalósításába.
A DateTime modul függvényeinek megvalósítása egy esettanulmányban
Tekintsünk egy esettanulmányt, amelyben adathalmazt kapunk a világ különböző részein történt eseményekről. Az adatkészlet a megfelelő dátumokat és időpontokat karakterlánc formátumban tartalmazza.
Feladatunk, hogy ezeket a dátumokat és időpontokat DateTime objektumokká alakítsuk, és szükség szerint műveleteket hajtsunk végre rajtuk.
Tegyük fel, hogy a következő adatkészletet kapjuk:
Ha ellenőrizzük a változó adattípusait, látni fogjuk, hogy a dátum és az idő karakterláncként van tárolva. Ezért, mielőtt bármilyen elemzést végzünk, át kell alakítanunk a dátum és az idő oszlopait megfelelő formátumra.
Ehhez a következő kódot használhatjuk:
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)
Ebben a kódblokkban először létrehozunk egy új „DateTime” oszlopot a DataFrame-ben a „Dátum” és „Idő” oszlopok összefűzésével. Ezután az új oszlop minden értékére alkalmazzuk a datetime.strptime függvényt, hogy a dátum- és időkarakterláncokat datetime objektumokká konvertáljuk. Végül kinyomtatjuk a DataFrame-et, hogy lássuk az eredményt.
A következő dolog, amit szeretnénk tenni, az az, hogy kiszámoljuk két esemény közötti különbséget. Ehhez a következő kódot használhatjuk:
duration = df.loc[1, 'DateTime'] - df.loc[0, 'DateTime']
print("Duration between Event1 and Event2: ", duration)
Ez a Python-szkript kiszámítja az „Esemény1” és az „Esemény2” közötti időtartamot.
Végül alakítsuk át a datetime objektumokat egy másik időzónává. Mikor lehet ezt elérni a datetime modul Timezone funkcióival.
# 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)
Ebben a kódban létrehozunk egy UTC időzóna objektumot. Ezután egy új oszlopot hozunk létre a DataFrame-ben 'DateTime_UTC' néven úgy, hogy lambda függvényt alkalmazunk a 'DateTime' oszlopunkra. Ez lecseréli az egyes datetime objektumok időzóna-információit UTC-re.
A fenti példa-esettanulmányon keresztül láthatja, hogy a DateTime modul által biztosított különféle funkciók hogyan működnek együtt a dátumok és időpontok megfelelő formátumba történő manipulálásához.
Most, hogy már ismeri a datetime modul néhány funkcióját, nézzünk meg néhány további funkciót, amelyeket összetettebb projektek végrehajtása során használni szeretne.
A fent felsorolt funkciókon kívül számos további hasznos funkció is használható az adott problémától függően. A Python fejlesztői gyakran nyitva tartanak egy dokumentációs oldalt, hogy olyan funkciókat keressenek, amelyek megfelelnek az Ön igényeinek. És javasoljuk, hogy tedd ugyanezt!
További dátum és idő funkciók
Ebben a részben a Python datetime moduljának további funkcióit tárgyaljuk . Ez magában foglalja a hétköznapok, hónapok és hétköznapok nevének lekérését, valamint a ctime() függvényt.
Hogyan lehet lekérni a hétköznapokat egy randevúról
A datetime modulhoz tartozik egy weekday() függvény, amely a hét napját egész számként adja vissza (ahol a hétfő 0 és a vasárnap 6).
A funkció használatához meghívhatja egy dátum vagy dátumidő objektumra.
import datetime
today = datetime.date.today()
weekday_number = today.weekday()
print(weekday_number)
A fenti kód kimenete az alábbi képen látható:
A jelenlegi helyi dátum 2023.05.23., a hét napja pedig hétfő.
Hogyan lehet lekérni a hónapok és a hétköznapok neveit egy dátumból
datetime lehetővé teszi a hónap nevének és a hét napjának lekérését is.
Használhatja az strftime() függvényt, amely egy dátum vagy dátumidő objektumot karakterláncként formáz.
A következő egy példa arra, hogyan kell az strftime() függvényt használni a hónap nevének és a hét napjának lekéréséhez:
import datetime
today = datetime.date.today()
weekday_name = today.strftime('%A')
month_name = today.strftime('%B')
print(weekday_name)
print(month_name)
Ez a kód a hét napjának és hónapjának neve lesz a kimenetben.
A Ctime függvény használata
A datetime modul ctime() függvénye egy dátum vagy dátumidő objektum karakterlánc-ábrázolását adja vissza, „Day H DD ÓÓ:PP:SS ÉÉÉÉ” formátumban.
A ctime egy datetime objektum metódusa , nem pedig önálló függvény.
A következő példa a ctime függvény használatára a kódban:
import datetime
now = datetime.datetime.now()
formatted_date = now.ctime()
print(formatted_date)
A fenti kód a dátum objektum karakterlánc reprezentációját adja vissza.
Ha többet szeretne megtudni az idősoros adatokkal való munkavégzésről, tekintse meg a következő videót:
Végső gondolatok
Python programozóként fontos a datetime modul elsajátítása. Ez egy eszközkészlet, amely lehetővé teszi a dátumok, időpontok és időintervallumok kezelését. Ezek azok az elemek, amelyekkel gyakran találkozhat a valós adatokban.
Erre a modulra szüksége lesz a karakterláncok dátum-idő objektumokká konvertálásához, az időzóna-konverziók kezeléséhez, valamint a dátumokkal és időpontokkal kapcsolatos műveletek végrehajtásához.
Azáltal, hogy megtanulja a datetime modul használatát, felkészültebb lesz ezeknek a feladatoknak a saját projektjei során történő kezelésére!
Hogyan kommentáljunk Pythonban – Rövid útmutató kezdőknek
Ez az oktatóanyag áttekintést nyújt a Power Query szerkesztőről és az M nyelvről a LuckyTemplates asztalon.
Ismerje meg, hogyan hozhat létre oldalszámozott jelentést, hogyan adhat hozzá szövegeket és képeket, majd exportálhatja a jelentést különböző dokumentumformátumokba.
Ismerje meg, hogyan használhatja a SharePoint automatizálási funkcióját munkafolyamatok létrehozására, és segít a SharePoint-felhasználók, -könyvtárak és -listák mikrokezelésében.
Fejlessze jelentéskészítési készségeit, ha csatlakozik egy adatelemzési kihíváshoz. Az Accelerator segítségével LuckyTemplates szuperfelhasználóvá válhatsz!
Ismerje meg, hogyan számíthatja ki a futó összegeket a LuckyTemplates programban a DAX segítségével. Az összesítések futtatása lehetővé teszi, hogy ne ragadjon le egyetlen egyéni eredménynél sem.
Ismerje meg a változók fogalmát a DAX-ban a LuckyTemplates-en belül, és a változók hatásait a mérőszámok kiszámítására.
Tudjon meg többet a LuckyTemplates Slope diagram nevű egyéni vizualizációról, amely egyetlen vagy több mérőszám növekedésének/csökkenésének megjelenítésére szolgál.
Fedezze fel a LuckyTemplates színtémáit. Ezek elengedhetetlenek ahhoz, hogy jelentései és vizualizációi zökkenőmentesen nézzenek ki és működjenek.
Az átlag kiszámítása a LuckyTemplates alkalmazásban számos módon elvégezhető, hogy pontos információkat kapjon üzleti jelentéseihez.