🔍 Как найти день недели в pandas: пошаговое руководство! ⌛
Чтобы найти день недели в Pandas, вы можете использовать функцию dt.weekday()
для серии дат. Вот пример:
import pandas as pd
# Создание серии дат
dates = pd.Series(['2022-01-01', '2022-01-02', '2022-01-03'])
# Преобразование в формат даты
dates = pd.to_datetime(dates)
# Получение дня недели
weekday = dates.dt.weekday
print(weekday)
Детальный ответ
Как найти день недели в pandas
В библиотеке pandas для работы с данными существуют различные способы нахождения дня недели. В этой статье мы рассмотрим несколько из них и предоставим примеры кода.
1. Применение функции dt.weekday()
Одним из способов найти день недели в pandas является использование атрибута dt.weekday
. Этот атрибут возвращает числовое значение дня недели, где понедельник обозначен как 0, вторник как 1 и так далее до воскресенья, которое обозначено как 6.
import pandas as pd
df = pd.DataFrame({'Дата': ['2022-01-01', '2022-02-01', '2022-03-01'],
'Событие': ['Событие 1', 'Событие 2', 'Событие 3']})
df['Дата'] = pd.to_datetime(df['Дата'])
df['День_недели'] = df['Дата'].dt.weekday
print(df)
В этом примере мы создаем DataFrame с двумя столбцами: 'Дата' и 'Событие'. Затем мы преобразуем столбец 'Дата' в формат datetime с помощью метода pd.to_datetime()
. Далее, мы используем атрибут dt.weekday
, чтобы найти числовое значение дня недели и сохранить его в новом столбце 'День_недели'.
После выполнения кода, DataFrame будет выглядеть следующим образом:
Дата Событие День_недели
0 2022-01-01 Событие 1 5
1 2022-02-01 Событие 2 1
2 2022-03-01 Событие 3 1
2. Использование метода dt.day_name()
Более понятным способом найти название дня недели является использование метода dt.day_name()
. Этот метод возвращает имя дня недели для каждой даты в указанном столбце.
import pandas as pd
df = pd.DataFrame({'Дата': ['2022-01-01', '2022-02-01', '2022-03-01'],
'Событие': ['Событие 1', 'Событие 2', 'Событие 3']})
df['Дата'] = pd.to_datetime(df['Дата'])
df['День_недели'] = df['Дата'].dt.day_name()
print(df)
В этом примере мы используем метод dt.day_name()
для нахождения имени дня недели и сохранения его в новом столбце 'День_недели'. Результат работы кода будет следующим:
Дата Событие День_недели
0 2022-01-01 Событие 1 Суббота
1 2022-02-01 Событие 2 Вторник
2 2022-03-01 Событие 3 Вторник
3. Создание собственной функции для определения дня недели
Если вы хотите определить день недели с использованием своих собственных правил или перевода названий дней, вы можете создать собственную функцию и применить ее к столбцу с датами.
import pandas as pd
def find_day_of_week(date):
days = ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье']
return days[date.weekday()]
df = pd.DataFrame({'Дата': ['2022-01-01', '2022-02-01', '2022-03-01'],
'Событие': ['Событие 1', 'Событие 2', 'Событие 3']})
df['Дата'] = pd.to_datetime(df['Дата'])
df['День_недели'] = df['Дата'].apply(find_day_of_week)
print(df)
В этом примере мы создаем функцию find_day_of_week()
, которая принимает дату и возвращает название дня недели на русском языке. Затем мы применяем эту функцию к столбцу 'Дата' с помощью метода apply()
и сохраняем результат в новом столбце 'День_недели'.
Результат работы кода будет следующим:
Дата Событие День_недели
0 2022-01-01 Событие 1 Суббота
1 2022-02-01 Событие 2 Вторник
2 2022-03-01 Событие 3 Вторник
Заключение
В данной статье мы рассмотрели несколько способов нахождения дня недели в библиотеке pandas. Мы описали использование атрибута dt.weekday
, метода dt.day_name()
и создание собственной функции. Все эти методы предоставляют возможность легко определить день недели для каждой даты в DataFrame.