Змініть формати дати за допомогою редактора Power Query
У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.
Працюючи з проектами даних у Python, ви, швидше за все, будете використовувати функції datetime. Майже кожен набір даних, з яким ви працюватимете, матиме стовпець дати й часу, яким ви захочете маніпулювати відповідно до своїх потреб і вимог проекту.
На щастя, Python має власний вбудований модуль під назвою datetime , який дозволяє представляти, маніпулювати та виконувати операції з екземплярами datetime, такими як дати, час і їх комбінації. Оволодіння модулем datetime Python допоможе вам робити надійніший аналіз часових рядів у ваших проектах.
Модуль Python datetime — це інструмент для обробки дат, часу та часових інтервалів. Це дозволяє виконувати різноманітні операції з датами та часом простим способом.
Анотація програмування – вихідний код і двійковий код на дисплеї розробника програмного забезпечення. Чорна тема з кольоровим синтаксисом.
Використовуючи модуль datetime у , ви можете легко працювати зі значеннями дати й часу, керувати часовими поясами, виконувати обчислення та навіть керувати форматуванням і розбором для різних уявлень. Ця функціональність робить модуль datetime важливим інструментом у багатьох програмах, від обробки даних до планування подій тощо.
Перш ніж почати використовувати модуль Python datetime у своїх проектах, дуже важливо зрозуміти його основні класи. У розділі нижче ми розглянемо п’ять основних класів модуля DateTime Python. Давайте потрапимо в це!
Зміст
Які 5 основних класів модуля Python Datetime?
Модуль Python Datetime є частиною стандартної бібліотеки, яка надає класи для керування та роботи з датами, часом, часовими поясами та тривалістю.
Модуль складається з п'яти основних класів:
Дата, час
Дата,
час,
Дельта часу
Часовий пояс.
Ми розглянемо кожен клас, а потім приклади випадків використання, щоб допомогти вам краще зрозуміти концепцію.
Як використовувати клас Datetime
Клас Python Datetime є найбільш часто використовуваним класом у модулі. Він представляє один момент часу з такими атрибутами, як рік, місяць, день, година, хвилина, секунда та мікросекунда.
Деякі поширені операції з класом Datetime Python включають:
datetime.datetime.now()
Ця функція дозволяє отримати поточну дату та час. Нижче наведено приклад отримання поточної дати та часу:
import datetime
# Get the current date and time
now = datetime.datetime.now()
print("Current date and time: ", now)
Це виведе поточну дату й час на момент виконання у форматі РРРР-ММ-ДД ГГ:ХМ:СС.сссссс.
датачас.датачас
Ця функція дозволяє створювати власний об’єкт дати й часу. Нижче наведено приклад використання datetime.datetime у вашому коді:
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)
На додаток до наведених вище функцій, клас Datetime також надає методи для роботи з датою та часом, наприклад:
strftime() :
Метод дозволяє форматувати об’єкти дати та часу як рядок. Нижче наведено приклад методу 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)
Цей код перетворить об’єкт datetime на рядок:
strptime() :
Ця функція в класі datetime дозволяє аналізувати рядок, що представляє об’єкти дати та часу, в один об’єкт Datetime. Нижче наведено приклад аналізу дати, збереженої як рядок, до об’єкта 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)
Це перетворить рядок на об’єкт DateTime.
Як використовувати клас дати
Клас Date дозволяє працювати виключно з об’єктами дати (рік, місяць і день). Ви можете створювати об’єкти дати за допомогою класу дат.
Деякі поширені операції з класом Date включають:
datetime.date.today()
Ця функція в класі дат дозволяє отримати поточну дату. Нижче наведено приклад отримання поточної дати за допомогою класу дат:
import datetime
# Get the current date
today = datetime.date.today()
print("Today's date: ", today)
Цей код Python виведе поточну дату на момент виконання у форматі РРРР-ММ-ДД.
На момент написання цієї статті поточна дата була 22 травня 2023 року.
datetime.date()
Ця функція в класі дати дозволяє створювати об’єкти дати. Приклад демонструє створення спеціального об’єкта дати за допомогою функції datetime.date():
import datetime
# Create a custom date object
custom_date = datetime.date(2023, 5, 22)
print("Custom date: ", custom_date)
У функції datetime.date() ви надаєте рік, місяць і день як аргументи.
Цей сценарій виведе 2023-05-22, оскільки ви створили спеціальний об’єкт дати для дати 22 травня 2023 року.
Клас Date також надає такі корисні методи, як:
будній день()
Цей метод у класі дат повертає день тижня (0 для понеділка, 1 для вівторка тощо). У наступному прикладі демонструється метод 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)
У цьому прикладі custom_date.weekday() поверне 0, оскільки 22 травня 2023 року припадає на понеділок.
strftime()
Цей метод у класі дати дозволяє форматувати об'єкт дати як рядок . Наступний приклад демонструє функцію 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)
Це виведе дату у форматі «День місяця, рік».
strptime()
Цей метод дозволяє розібрати рядок, що представляє дату, в об’єкт Date. Нижче наведено приклад перетворення рядкової дати в об’єкт 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)
Це виведе об’єкт дати, створений із рядка дати.
Як використовувати клас часу
Клас Time дозволяє працювати з екземплярами часу (година, хвилина, секунда, мікросекунда). За допомогою класу часу ви можете створити спеціальний об’єкт часу за допомогою datetime.time().
У наступному прикладі демонструється створення спеціального об’єкта часу:
import datetime
# Create a custom time object
custom_time = datetime.time(17, 40)
print("Custom time: ", custom_time)
У datetime.time() ви надаєте годину та хвилину як аргументи.
Цей сценарій виведе 17:40:00, як зазначено в коді Python.
Клас Time надає такі корисні методи, як:
strftime()
Цей метод дозволяє форматувати об’єкт часу як рядок. Нижче наведено приклад цієї функції:
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)
Це виведе місцевий час у форматі «Година:Хвилина».
strptime()
Ця функція дозволяє аналізувати рядок, що представляє час, у об’єкт Time. Наступний приклад демонструє цю функцію:
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)
Це виведе об’єкти часу, створені з рядка часу.
Як використовувати клас Timedelta
Клас Timedelta дозволяє представити тривалість або різницю між двома датами або часом.
За допомогою класу Timedelta ви можете виконувати такі операції:
Обчисліть різницю між двома датами або часом
Нижче наведено приклад розрахунку різниці між двома датами:
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.
Ви пройшли через деякі з найбільших. У наступному розділі ми реалізуємо деякі з наведених вище функцій у прикладі, який дасть вам практичний погляд на реалізацію цих модулів дати й часу у ваших проектах.
Реалізація функцій модуля DateTime у прикладі
Давайте розглянемо приклад прикладу, де нам надається набір даних про різні події, що відбулися в усьому світі. Набір даних має відповідні дати й час у рядковому форматі.
Наше завдання полягає в тому, щоб перетворити ці дати й час на об’єкти DateTime і виконувати над ними необхідні операції.
Припустимо, нам надано такий набір даних:
Якщо ми перевіримо типи даних змінної, то побачимо, що дата й час зберігаються як рядок. Тому перед проведенням будь-якого аналізу ми маємо перетворити стовпці дати та часу у відповідний формат.
Для цього ми можемо використати такий код:
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)
У цьому блоці коду ми спочатку створюємо новий стовпець "DateTime" у вашому DataFrame шляхом об'єднання стовпців "Date" і "Time". Потім ми застосовуємо функцію datetime.strptime до кожного значення в цьому новому стовпці, щоб перетворити рядки дати й часу в об’єкти datetime. Нарешті, ми роздруковуємо DataFrame, щоб побачити результат.
Наступне, що ми хочемо зробити, це обчислити різницю між двома подіями. Для цього ми можемо використати такий код:
duration = df.loc[1, 'DateTime'] - df.loc[0, 'DateTime']
print("Duration between Event1 and Event2: ", duration)
Цей сценарій Python обчислить тривалість між «подією 1» і «подією 2».
Нарешті, давайте перетворимо об’єкти datetime в інший часовий пояс. Коли можна досягти цього за допомогою функцій Timezone у модулі 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)
У цьому коді ми створюємо об’єкт часового поясу для UTC. Далі ми створюємо новий стовпець у нашому DataFrame під назвою «DateTime_UTC», застосовуючи лямбда-функцію до нашого стовпця «DateTime». Це замінить інформацію про часовий пояс кожного об’єкта datetime на UTC.
У наведеному вище прикладі прикладу ви побачите, як різні функції, надані модулем DateTime, працюють разом, щоб маніпулювати датами й часом у відповідному форматі.
Тепер, коли ви знайомі з деякими функціями в модулі datetime, давайте подивимося на кілька додаткових функцій, які вам захочеться використовувати, коли ви беретеся за більш складні проекти.
Крім перерахованих вище функцій, існує багато інших корисних функцій, якими ви можете скористатися залежно від наявної проблеми. Розробники Python часто тримають сторінку документації відкритою, щоб знайти функції, які можуть задовольнити ваші потреби. І ми пропонуємо вам зробити те ж саме!
Додаткові функції дати та часу
У цьому розділі ми обговоримо додаткові функції в модулі datetime Python . Це включає в себе отримання назв днів тижня, місяця та днів тижня разом із функцією ctime() .
Як отримати дні тижня з дати
Модуль datetime містить функцію weekday() , яка повертає день тижня як ціле число (де понеділок дорівнює 0, а неділя – 6).
Щоб скористатися цією функцією, ви можете викликати її в об’єкті date або datetime.
import datetime
today = datetime.date.today()
weekday_number = today.weekday()
print(weekday_number)
Результат коду вище наведено на зображенні нижче:
Поточна місцева дата – 23.05.2023, робочий день – понеділок.
Як отримати назви місяців і днів тижня з дати
datetime також дозволяє отримати назву місяця та дня тижня.
Ви можете використовувати функцію strftime() , яка форматує дату або об’єкт datetime як рядок.
Нижче наведено приклад того, як використовувати функцію strftime() для отримання назви місяця та дня тижня:
import datetime
today = datetime.date.today()
weekday_name = today.strftime('%A')
month_name = today.strftime('%B')
print(weekday_name)
print(month_name)
Цей код виведе назву дня тижня та назву місяця.
Як використовувати функцію Ctime
Функція ctime() у модулі datetime повертає рядкове представлення дати або об’єкта datetime у форматі «День Пн ДД ГГ:ММ:СС РРРР».
ctime — це метод для об’єкта datetime , а не окрема функція.
Нижче наведено приклад використання функції ctime у вашому коді:
import datetime
now = datetime.datetime.now()
formatted_date = now.ctime()
print(formatted_date)
Наведений вище код поверне рядкове представлення об’єкта дати.
Щоб дізнатися більше про роботу з даними часових рядів, перегляньте це відео:
Заключні думки
Як програміст на Python важливо опанувати модуль datetime. Це набір інструментів, який дає змогу працювати з датами, часом і інтервалами часу. Це елементи, які ви часто зустрічаєте в даних реального світу.
Цей модуль вам знадобиться, щоб перетворювати рядки в об’єкти datetime, обробляти перетворення часових поясів і виконувати операції з датами й часом.
Навчившись використовувати модуль datetime, ви будете краще підготовлені до вирішення цих завдань у ваших власних проектах!
У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.
Дізнайтеся, як об’єднати файли з кількох папок у мережі, робочому столі, OneDrive або SharePoint за допомогою Power Query.
Цей підручник пояснює, як обчислити місячне ковзне середнє на базі даних з початку року за допомогою функцій AVERAGEX, TOTALYTD та FILTER у LuckyTemplates.
Дізнайтеся, чому важлива спеціальна таблиця дат у LuckyTemplates, і вивчіть найшвидший і найефективніший спосіб це зробити.
У цьому короткому посібнику розповідається про функцію мобільних звітів LuckyTemplates. Я збираюся показати вам, як ви можете ефективно створювати звіти для мобільних пристроїв.
У цій презентації LuckyTemplates ми розглянемо звіти, що демонструють професійну аналітику послуг від фірми, яка має кілька контрактів і залучених клієнтів.
Ознайомтеся з основними оновленнями для Power Apps і Power Automate, а також їх перевагами та наслідками для Microsoft Power Platform.
Відкрийте для себе деякі поширені функції SQL, які ми можемо використовувати, наприклад String, Date і деякі розширені функції для обробки та маніпулювання даними.
У цьому підручнику ви дізнаєтеся, як створити свій ідеальний шаблон LuckyTemplates, налаштований відповідно до ваших потреб і вподобань.
У цьому блозі ми продемонструємо, як шарувати параметри поля з малими кратними, щоб створити неймовірно корисну інформацію та візуальні ефекти.