Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr
W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.
Podczas pracy z projektami danych w Pythonie najprawdopodobniej będziesz używać funkcji datetime. Niemal każdy zestaw danych, z którym będziesz pracować, będzie zawierał kolumnę daty/godziny, którą będziesz chciał manipulować zgodnie ze swoimi potrzebami i wymaganiami projektu.
Na szczęście Python ma własny wbudowany moduł o nazwie datetime , który umożliwia reprezentowanie, manipulowanie i wykonywanie operacji na instancjach typu datetime, takich jak daty, godziny i ich kombinacje. Opanowanie modułu datetime w języku Python pomoże Ci przeprowadzać bardziej solidne analizy szeregów czasowych w Twoich projektach.
Moduł datetime Pythona to narzędzie do obsługi dat, godzin i przedziałów czasowych. Umożliwia wykonywanie różnych operacji na datach i godzinach w prosty sposób.
Programowanie streszczenie — kod źródłowy i kod binarny na wyświetlaczu programisty. Czarny motyw z kolorową składnią.
Korzystając z modułu datetime w Pythonie , możesz łatwo pracować z wartościami daty i godziny, zarządzać strefami czasowymi, wykonywać obliczenia, a nawet obsługiwać formatowanie i analizowanie różnych reprezentacji. Ta funkcjonalność sprawia, że moduł datetime jest niezbędnym narzędziem w wielu aplikacjach, od przetwarzania danych po planowanie wydarzeń i nie tylko.
Zanim zaczniesz korzystać z modułu datetime Pythona w swoich projektach, bardzo ważne jest zrozumienie jego podstawowych klas. W poniższej sekcji przyjrzymy się pięciu głównym klasom modułu DateTime języka Python. Wejdźmy w to!
Spis treści
Jakie są 5 głównych klas modułu Datetime Pythona?
Moduł Python Datetime jest częścią standardowej biblioteki, która udostępnia klasy do manipulowania datami, godzinami, strefami czasowymi i czasem trwania oraz do pracy z nimi.
Moduł składa się z pięciu głównych klas:
Data i godzina
Data,
Czas,
delta czasu
Strefa czasowa.
Przyjrzymy się każdej klasie, a następnie przedstawimy przykładowe przypadki użycia, aby pomóc Ci lepiej zrozumieć tę koncepcję.
Jak korzystać z klasy Datetime
Klasa Datetime języka Python jest najczęściej używaną klasą w module. Reprezentuje pojedynczy punkt w czasie z atrybutami takimi jak rok, miesiąc, dzień, godzina, minuta, sekunda i mikrosekunda.
Niektóre typowe operacje z klasą Python Datetime obejmują:
datagodzina.datagodzina.teraz()
Ta funkcja pozwala uzyskać aktualną datę i godzinę. Poniżej znajduje się przykład pobierania bieżącej daty i godziny:
import datetime
# Get the current date and time
now = datetime.datetime.now()
print("Current date and time: ", now)
Spowoduje to wyświetlenie bieżącej daty i godziny w momencie wykonania w formacie RRRR-MM-DD HH:MM:SS.ssssss.
datagodzina.datagodzina
Ta funkcja umożliwia utworzenie niestandardowego obiektu daty i godziny. Poniżej znajduje się przykład użycia datetime.datetime w kodzie:
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)
Oprócz powyższych funkcji klasa Datetime udostępnia również metody do pracy z datą i czasem, takie jak:
strftime() :
Metoda pozwala sformatować obiekty daty i czasu jako ciąg znaków. Poniżej znajduje się przykład metody 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)
Ten kod przekonwertuje obiekt datetime na ciąg znaków:
strptime() :
Ta funkcja w klasie datetime umożliwia przeanalizowanie łańcucha reprezentującego obiekty daty i godziny w pojedynczy obiekt Datetime. Poniżej znajduje się przykład analizowania daty zapisanej jako ciąg znaków w obiekcie 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)
Spowoduje to przekształcenie ciągu znaków w obiekt DateTime.
Jak korzystać z klasy Date
Klasa Date pozwala zajmować się wyłącznie obiektami daty (rok, miesiąc i dzień). Możesz tworzyć obiekty daty z klasą daty.
Niektóre typowe operacje z klasą Date obejmują:
datetime.date.day()
Ta funkcja w klasie date pozwala uzyskać aktualną datę. Poniżej znajduje się przykład pobierania bieżącej daty z klasą daty:
import datetime
# Get the current date
today = datetime.date.today()
print("Today's date: ", today)
Ten kod Pythona wyświetli bieżącą datę w momencie wykonania w formacie RRRR-MM-DD.
W momencie pisania tego artykułu aktualna data to 2023-05-22.
datetime.date()
Ta funkcja w klasie date umożliwia tworzenie obiektów daty. Przykład ilustruje tworzenie niestandardowego obiektu daty za pomocą funkcji datetime.date():
import datetime
# Create a custom date object
custom_date = datetime.date(2023, 5, 22)
print("Custom date: ", custom_date)
W funkcji datetime.date() jako argumenty podajesz rok, miesiąc i dzień.
Ten skrypt wyświetli 2023-05-22, ponieważ utworzyłeś niestandardowy obiekt daty dla daty 22 maja 2023 r.
Klasa Date udostępnia również przydatne metody, takie jak:
dzień powszedni()
Ta metoda w klasie date zwraca dzień tygodnia (0 dla poniedziałku, 1 dla wtorku itd.). Poniższy przykład ilustruje metodę 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)
W tym przykładzie custom_date.weekday() zwróci 0, ponieważ 22 maja 2023 r. przypada w poniedziałek.
strftime()
Ta metoda w klasie date umożliwia sformatowanie obiektu daty jako ciągu znaków . Poniższy przykład demonstruje funkcję 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)
Spowoduje to wyświetlenie daty w formacie „Dzień miesiąca, rok”.
strptime()
Ta metoda umożliwia przeanalizowanie ciągu reprezentującego datę w obiekcie Date. Poniżej znajduje się przykład konwersji daty typu string na obiekt 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)
Spowoduje to wyświetlenie obiektu daty utworzonego z ciągu daty.
Jak korzystać z klasy czasu
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.
Naszym zadaniem jest przekształcenie tych dat i godzin w obiekty DateTime i wykonywanie na nich operacji w razie potrzeby.
Załóżmy, że mamy następujący zestaw danych:
Jeśli sprawdzimy typy danych zmiennej, zobaczymy, że data i godzina są przechowywane jako ciąg znaków. Dlatego przed przystąpieniem do jakiejkolwiek analizy musimy przekonwertować kolumny daty i czasu do odpowiedniego formatu.
W tym celu możemy użyć następującego kodu:
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)
W tym bloku kodu najpierw tworzymy nową kolumnę „DateTime” w DataFrame, łącząc kolumny „Date” i „Time”. Następnie stosujemy funkcję datetime.strptime do każdej wartości w tej nowej kolumnie, aby przekonwertować ciągi daty i godziny na obiekty typu datetime. Na koniec drukujemy DataFrame, aby zobaczyć wynik.
Następną rzeczą, którą chcielibyśmy zrobić, jest obliczenie różnicy między dwoma zdarzeniami. W tym celu możemy użyć następującego kodu:
duration = df.loc[1, 'DateTime'] - df.loc[0, 'DateTime']
print("Duration between Event1 and Event2: ", duration)
Ten skrypt Pythona obliczy czas trwania między „Event1” a „Event2”.
Na koniec przekonwertujmy obiekty datetime na inną strefę czasową. Kiedy można to osiągnąć za pomocą funkcji strefy czasowej w module 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)
W tym kodzie tworzymy obiekt strefy czasowej dla UTC. Następnie tworzymy nową kolumnę w naszej ramce DataFrame o nazwie „DateTime_UTC”, stosując funkcję lambda do naszej kolumny „DateTime”. Spowoduje to zastąpienie informacji o strefie czasowej każdego obiektu daty i godziny czasem UTC.
Dzięki powyższemu przykładowemu studium przypadku zobaczysz, jak różne funkcje zapewniane przez moduł DateTime współpracują ze sobą w celu manipulowania datami i godzinami w odpowiednim formacie.
Teraz, gdy znasz już niektóre funkcje modułu datetime, przyjrzyjmy się kilku dodatkowym funkcjom, których będziesz chciał używać, podejmując się bardziej złożonych projektów.
Oprócz funkcji wymienionych powyżej istnieje wiele innych przydatnych funkcji, z których można korzystać w zależności od problemu. Programiści Pythona często otwierają stronę dokumentacji , aby szukać funkcji, które mogą zaspokoić Twoje potrzeby. I radzimy zrobić to samo!
Dodatkowe funkcje daty i godziny
W tej sekcji omówimy dodatkowe funkcje w module datetime Pythona . Obejmuje to pobieranie nazw dni tygodnia, miesięcy i dni tygodnia wraz z funkcją ctime() .
Jak odzyskać dni tygodnia z daty
Moduł datetime zawiera funkcję weekday() , która zwraca dzień tygodnia jako liczbę całkowitą (gdzie poniedziałek to 0, a niedziela to 6).
Aby skorzystać z tej funkcji, możesz wywołać ją na obiekcie typu date lub datetime.
import datetime
today = datetime.date.today()
weekday_number = today.weekday()
print(weekday_number)
Dane wyjściowe powyższego kodu przedstawiono na poniższym obrazku:
Bieżąca data lokalna to 23.05.2023, a dniem tygodnia jest poniedziałek.
Jak odzyskać nazwy miesięcy i dni tygodnia z daty
datetime pozwala również na pobranie nazwy miesiąca i dnia tygodnia.
Możesz użyć funkcji strftime() , która formatuje datę lub obiekt datetime jako ciąg znaków.
Poniżej przedstawiono przykład użycia funkcji strftime() w celu uzyskania nazwy miesiąca i dnia tygodnia:
import datetime
today = datetime.date.today()
weekday_name = today.strftime('%A')
month_name = today.strftime('%B')
print(weekday_name)
print(month_name)
Ten kod wydrukuje nazwę dnia tygodnia i nazwę miesiąca na wyjściu.
Jak korzystać z funkcji Ctime
Funkcja ctime() w module datetime zwraca ciąg znaków reprezentujący datę lub obiekt datetime, sformatowany jako „Day Mon DD HH:MM:SS RRRR”.
ctime to metoda dla obiektu datetime , a nie samodzielna funkcja.
Poniżej znajduje się przykład użycia funkcji ctime w kodzie:
import datetime
now = datetime.datetime.now()
formatted_date = now.ctime()
print(formatted_date)
Powyższy kod zwróci łańcuchową reprezentację obiektu daty.
Aby dowiedzieć się więcej o pracy z danymi szeregów czasowych, obejrzyj następujący film:
Końcowe przemyślenia
Dla programisty Pythona ważne jest opanowanie modułu datetime. Jest to zestaw narzędzi, który umożliwia radzenie sobie z datami, godzinami i przedziałami czasowymi. Są to elementy, które często napotykasz w rzeczywistych danych.
Ten moduł będzie potrzebny do konwertowania ciągów znaków na obiekty typu data/godzina, obsługi konwersji stref czasowych i wykonywania operacji na datach i godzinach.
Ucząc się obsługi modułu datetime, będziesz lepiej przygotowany do obsługi tych zadań we własnych projektach!
W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.
Odkryj różnorodne funkcje zbierania, które można wykorzystać w Power Automate. Zdobądź praktyczne informacje o funkcjach tablicowych i ich zastosowaniu.
Z tego samouczka dowiesz się, jak ocenić wydajność kodów DAX przy użyciu opcji Uruchom test porównawczy w DAX Studio.
Czym jest self w Pythonie: przykłady z życia wzięte
Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.
Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.
W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.
W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.
Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.
Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.