Hvordan kommentere i Python – En hurtigveiledning for nybegynnere
Hvordan kommentere i Python – En hurtigveiledning for nybegynnere
Når du arbeider med dataprosjekter i Python, er det mest sannsynlig at du bruker datotidsfunksjoner. Nesten hvert datasett du skal jobbe med vil ha en dato- og klokkeslettkolonne som du vil manipulere i henhold til dine behov og prosjektkrav.
Heldigvis kommer Python med sin egen innebygde modul kalt datetime som lar deg representere, manipulere og utføre operasjoner med datetime-forekomster som datoer, klokkeslett og kombinasjoner av de to. Å mestre Python datetime-modulen vil hjelpe deg med å lage mer robuste tidsserieanalyser i prosjektene dine.
Python datetime-modulen er et verktøy for håndtering av datoer, klokkeslett og tidsintervaller. Den lar deg utføre ulike operasjoner på datoer og klokkeslett på en enkel måte.
Programmeringsabstrakt – kildekode og binær kode på visning av programvareutvikler. Svart tema med farget syntaks.
Ved å bruke datetime-modulen i kan du enkelt jobbe med dato- og klokkeslettverdier, administrere tidssoner, utføre beregninger og til og med håndtere formatering og parsing for ulike representasjoner. Denne funksjonaliteten gjør datetime-modulen til et viktig verktøy i mange applikasjoner, fra databehandling til hendelsesplanlegging og utover.
Før du begynner å bruke Pythons datetime-modul i prosjektene dine, er det avgjørende å forstå dens underliggende klasser. I avsnittet nedenfor vil vi se på de fem hovedklassene i Pythons DateTime-modul. La oss komme inn i det!
Innholdsfortegnelse
Hva er de 5 hovedklassene til Python Datetime-modulen?
Python Datetime-modulen er en del av standardbiblioteket som gir klasser for å manipulere og arbeide med datoer, klokkeslett, tidssoner og varigheter.
Modulen består av fem hovedklasser:
Dato tid
Dato,
Tid,
Tidsdelta
Tidssone.
Vi vil se på hver klasse etterfulgt av eksempler på bruksområder for å hjelpe deg med å forstå konseptet bedre.
Slik bruker du Datetime-klassen
Python Datetime-klassen er den mest brukte klassen i modulen. Den representerer et enkelt tidspunkt med attributter som år, måned, dag, time, minutt, sekund og mikrosekund.
Noen vanlige operasjoner med Python Datetime-klassen inkluderer:
datetime.datetime.now()
Denne funksjonen lar deg få gjeldende dato og klokkeslett. Følgende er et eksempel på å hente gjeldende dato og klokkeslett:
import datetime
# Get the current date and time
now = datetime.datetime.now()
print("Current date and time: ", now)
Dette vil sende ut gjeldende dato og klokkeslett i kjøreøyeblikket i formatet ÅÅÅÅ-MM-DD TT:MM:SS.ssssss.
datetime.datetime
Denne funksjonen lar deg lage et tilpasset dato- og klokkeslettobjekt. Følgende er et eksempel på bruk av datetime.datetime i koden din:
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)
I tillegg til funksjonene ovenfor gir Datetime-klassen også metoder for å arbeide med dato og klokkeslett som:
strftime() :
Metoden lar deg formatere dato- og klokkeslettobjektene som en streng. Følgende er et eksempel på strftime()-metoden:
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)
Denne koden vil konvertere datetime-objekt til en streng:
strptime() :
Denne funksjonen i datetime-klassen lar deg analysere en streng som representerer dato- og klokkeslettobjekter til et enkelt Datetime-objekt. Følgende er et eksempel på å analysere en dato lagret som en streng til et Datetime-objekt:
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)
Dette vil konvertere strengen til et DateTime-objekt.
Slik bruker du datoklassen
Dato-klassen lar deg utelukkende håndtere datoobjekter (år, måned og dag). Du kan lage datoobjekter med datoklassen.
Noen vanlige operasjoner med Dato-klassen inkluderer:
datetime.date.today()
Denne funksjonen i datoklassen lar deg få gjeldende dato. Følgende er et eksempel på å hente gjeldende dato med datoklassen:
import datetime
# Get the current date
today = datetime.date.today()
print("Today's date: ", today)
Denne Python-koden vil sende ut gjeldende dato i kjøringstidspunktet i formatet ÅÅÅÅ-MM-DD.
På tidspunktet for skriving av denne artikkelen var gjeldende dato 2023-05-22.
datetime.date()
Denne funksjonen i datoklassen lar deg lage datoobjekter. Eksemplet demonstrerer å lage et tilpasset datoobjekt med datetime.date()-funksjonen:
import datetime
# Create a custom date object
custom_date = datetime.date(2023, 5, 22)
print("Custom date: ", custom_date)
I funksjonen datetime.date() oppgir du år, måned og dag som argumenter.
Dette skriptet vil sende ut 2023-05-22, ettersom du har opprettet et egendefinert datoobjekt for datoen 22. mai 2023.
Dato-klassen gir også nyttige metoder, for eksempel:
ukedag()
Denne metoden i datoklassen returnerer ukedagen (0 for mandag, 1 for tirsdag osv.). Følgende eksempel demonstrerer weekday()-metoden:
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)
I dette eksemplet vil custom_date.weekday() returnere 0 fordi 22. mai 2023 faller på en mandag.
strftime()
Denne metoden i datoklassen lar deg formatere datoobjektet som en streng . Følgende eksempel viser strftime()-funksjonen:
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)
Dette vil sende ut datoen formatert som "Månedsdag, år".
strptime()
Denne metoden lar deg analysere en streng som representerer en dato til et Date-objekt. Følgende er et eksempel på å konvertere en strengdato til et Date-objekt:
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)
Dette vil sende ut datoobjektet som er opprettet fra datostrengen.
Slik bruker du Time Class
Time-klassen lar deg jobbe med tidsforekomster (time, minutt, sekund, mikrosekund). Med tidsklassen kan du lage et tilpasset tidsobjekt med datetime.time().
Følgende eksempel viser hvordan du oppretter et egendefinert tidsobjekt:
import datetime
# Create a custom time object
custom_time = datetime.time(17, 40)
print("Custom time: ", custom_time)
I datetime.time() oppgir du timen og minuttet som argumenter.
Dette skriptet vil sende ut 17:40:00, som spesifisert i Python-koden.
Time-klassen gir nyttige metoder, for eksempel:
strftime()
Denne metoden lar deg formatere tidsobjektet som en streng. Nedenfor er et eksempel på denne funksjonen:
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)
Dette vil sende ut den lokale tiden formatert som "Time:Minutt".
strptime()
Denne funksjonen lar deg analysere en streng som representerer tid til et Time-objekt. Følgende eksempel viser denne funksjonen:
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)
Dette vil sende ut tidsobjektene som er opprettet fra tidsstrengen.
Slik bruker du Timedelta-klassen
Timedelta-klassen lar deg representere en varighet eller forskjell mellom to datoer eller klokkeslett.
Med Timedelta-klassen kan du utføre følgende operasjoner:
Beregn forskjellen mellom to datoer eller klokkeslett
Et eksempel på beregning av forskjellen mellom to datoer er gitt nedenfor:
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")
I dette eksemplet er date_difference et timedelta-objekt som representerer forskjellen mellom dato2 og dato1. Egenskapen .days gir antall dager mellom de to datoene.
Legg til eller trekk fra en varighet til en dato eller et klokkeslett
Et eksempel på å legge til en varighet til en dato er gitt nedenfor:
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)
I dette eksemplet er varighet et tidsdeltaobjekt som representerer en varighet på 10 dager. Vi bruker +-operatoren for å legge til denne varigheten til custom_date.
Slik bruker du tidssoneklassen
Tidssoneklassen lar deg håndtere tidssoner og justeringer av sommertid.
Du kan utføre følgende operasjon med tidssoneklasse:
For å lage et tidssoneobjekt kan du bruke funksjonen datetime.timezone() . Følgende eksempel viser hvordan du oppretter et tidssoneobjekt:
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)
I dette eksemplet er two_hours_ahead et tidssoneobjekt som representerer en tidssone som er 2 timer foran Coordinated Universal Time (UTC).
Dette skriptet vil sende ut et tidssoneobjekt som .
For å oppnå dette kan du bruke . replace(tzinfo=tz) funksjon. Følgende eksempel viser denne funksjonen:
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)
I dette eksemplet er naive_datetime et datetime-objekt som ikke har noen tidssoneinformasjon. Two_hours_ahead-variabelen er et tidssoneobjekt som representerer en tidssone som er 2 timer foran UTC.
Replace(tzinfo=two_hours_ahead)-metoden brukes til å lage et nytt datetime-objekt med samme dato og klokkeslett som naive_datetime, men med tzinfo satt til two_hours_ahead.
Tidssonen hjelper deg med å opprettholde nøyaktige og konsistente tidsverdier når du arbeider med data som spenner over flere tidssoner.
Du har gått gjennom noe av det meste. I den neste delen vil vi implementere noen av funksjonene ovenfor i en casestudie som vil gi deg et praktisk blikk på implementeringen av disse dato- og tidsmodulene i prosjektene dine.
Implementering av DateTime-modulfunksjonene i en casestudie
La oss vurdere en casestudie der vi får et datasett med forskjellige hendelser som har skjedd rundt om i verden. Datasettet har tilsvarende datoer og klokkeslett i et strengformat.
Vår oppgave er å transformere disse datoene og tidene til DateTime-objekter og utføre operasjoner på dem etter behov.
Anta at vi får følgende datasett:
Hvis vi sjekker datatypene til variabelen vil vi se at dato og klokkeslett er lagret som en streng. Derfor, før vi utfører noen analyse, må vi konvertere dato- og klokkeslettkolonnene til et passende format.
For å gjøre dette kan vi bruke følgende kode:
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)
I denne kodeblokken oppretter vi først en ny kolonne 'DateTime' i DataFrame ved å sette sammen 'Date' og 'Time'-kolonnene. Deretter bruker vi datetime.strptime-funksjonen på hver verdi i denne nye kolonnen for å konvertere dato- og klokkeslettstrengene til datetime-objekter. Til slutt skriver vi ut DataFrame for å se resultatet.
Det neste vi ønsker å gjøre er å beregne forskjellen mellom to hendelser. For å gjøre dette kan vi bruke følgende kode:
duration = df.loc[1, 'DateTime'] - df.loc[0, 'DateTime']
print("Duration between Event1 and Event2: ", duration)
Dette Python-skriptet vil beregne varigheten mellom 'Event1' og 'Event2'.
Til slutt, la oss konvertere datetime-objektene til en annen tidssone. Når kan oppnå dette ved å bruke Tidssone-funksjonene i datetime-modulen.
# 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)
I denne koden lager vi et tidssoneobjekt for UTC. Deretter oppretter vi en ny kolonne i vår DataFrame kalt 'DateTime_UTC' ved å bruke en lambda-funksjon på vår 'DateTime'-kolonne. Dette vil erstatte tidssoneinformasjonen for hvert datetime-objekt med UTC.
Gjennom eksempelstudiet ovenfor ser du hvordan de ulike funksjonene som tilbys av DateTime-modulen fungerer sammen for å manipulere datoer og klokkeslett til et passende format.
Nå som du er kjent med noen av funksjonene i datetime-modulen, la oss gå videre og se på noen tilleggsfunksjoner som du vil bruke når du tar på deg mer komplekse prosjekter.
Bortsett fra funksjonene som er oppført ovenfor, er det mange flere nyttige funksjoner du kan bruke avhengig av problemet. Python-utviklere holder ofte en dokumentasjonsside åpen for å se etter funksjoner som kan imøtekomme dine behov. Og vi foreslår at du gjør det samme!
Ytterligere dato- og klokkeslettfunksjoner
I denne delen vil vi diskutere tilleggsfunksjoner i Python datetime- modulen. Dette inkluderer henting av ukedager, måneds- og ukedagnavn, sammen med ctime()- funksjonen.
Hvordan hente ukedager fra en dato
Datetime - modulen kommer med en weekday() -funksjon, som returnerer ukedagen som et heltall (der mandag er 0 og søndag er 6).
For å bruke denne funksjonen kan du kalle den på et dato- eller datetime-objekt.
import datetime
today = datetime.date.today()
weekday_number = today.weekday()
print(weekday_number)
Utgangen av koden ovenfor er gitt i bildet nedenfor:
Gjeldende lokale dato er 23.05.2023 og ukedagen er mandag.
Slik henter du måneds- og ukedagsnavn fra en dato
datetime lar deg også hente navnet på måneden og ukedagen.
Du kan bruke strftime() -funksjonen, som formaterer et dato- eller datetime-objekt som en streng.
Følgende er et eksempel på hvordan du bruker strftime() -funksjonen for å få navnet på måneden og ukedagen:
import datetime
today = datetime.date.today()
weekday_name = today.strftime('%A')
month_name = today.strftime('%B')
print(weekday_name)
print(month_name)
Denne koden vil navn på ukedag og måned i utdataene.
Slik bruker du Ctime-funksjonen
ctime () -funksjonen i datetime- modulen returnerer en strengrepresentasjon av et dato- eller datetime-objekt, formatert som "Dag mandag DD TT:MM:SS ÅÅÅÅ".
ctime er en metode for et datetime- objekt, ikke en frittstående funksjon.
Følgende er et eksempel på bruk av ctime-funksjonen i koden din:
import datetime
now = datetime.datetime.now()
formatted_date = now.ctime()
print(formatted_date)
Koden ovenfor vil returnere en strengrepresentasjon av datoobjektet.
For å lære mer om arbeid med tidsseriedata, ta en titt på følgende video:
Siste tanker
Som Python-programmerer er det viktig å mestre datetime-modulen. Det er et verktøysett som lar deg håndtere datoer, klokkeslett og tidsintervaller. Dette er elementene du ofte vil møte i virkelige data.
Du trenger denne modulen for å konvertere strenger til datetime-objekter, håndtere tidssonekonverteringer og utføre operasjoner på datoer og klokkeslett.
Ved å lære hvordan du bruker datetime-modulen, vil du være bedre forberedt til å håndtere disse oppgavene i dine egne prosjekter!
Hvordan kommentere i Python – En hurtigveiledning for nybegynnere
Denne opplæringen gir en oversikt over Power Query Editor og M-språket på LuckyTemplates-skrivebordet.
Lær hvordan du lager en paginert rapport, legger til tekster og bilder og deretter eksporterer rapporten til ulike dokumentformater.
Lær hvordan du bruker SharePoint-automatiseringsfunksjonen til å lage arbeidsflyter og hjelpe deg med å mikroadministrere SharePoint-brukere, -biblioteker og -lister.
Utvid rapportutviklingsferdighetene dine ved å bli med i en dataanalyseutfordring. Akseleratoren kan hjelpe deg å bli en LuckyTemplates-superbruker!
Lær hvordan du beregner løpende totaler i LuckyTemplates ved hjelp av DAX. Løpende totaler lar deg ikke bli fanget opp i et individuelt resultat.
Forstå konseptet med variabler i DAX i LuckyTemplates og implikasjonene av variabler for hvordan målene dine beregnes.
Lær mer om det tilpassede visuelle bildet kalt LuckyTemplates Slope-diagram, som brukes til å vise økning/reduksjon for en enkelt eller flere beregninger.
Oppdag fargetemaene i LuckyTemplates. Disse er avgjørende for at rapportene og visualiseringene dine skal se ut og fungere sømløst.
Å beregne et gjennomsnitt i LuckyTemplates kan gjøres på mange måter for å gi deg nøyaktig informasjon for bedriftsrapportene dine.