Преобразование строки даты в День недели У меня есть строки даты, подобные этому: 'January 11, 2010' и мне нужна функция, которая возвращает день недели, например 'mon', or 'monday' и т.д.. Я не могу найти это нигде в справке Python. Кто угодно? Спасибо. Ответ 1 Возможно, вы захотите использовать strptime and strftime методы из datetime: >>> import datetime >>> datetime.datetime.strptime('January 11, 2010', '%B %d, %Y').strftime('%A') 'Monday' или для 'Mon': >>> datetime.datetime.strptime('January 11, 2010', '%B %d, %Y').strftime('%a') 'Mon' Ответ 2 использовать date.weekday() Возвратите день недели как целое число, где в понедельник 0, а воскресенье - 6. http://docs.python.org/2/library/datetime.html#datetime.date.weekday Ответ 3 Может использоваться сторонний парсер, например dateutil. И код для вашего оригинального вопроса: >>> from dateutil import parser >>> parser.parse('January 11, 2010').strftime("%a") 'Mon' >>> parser.parse('January 11, 2010').strftime("%A") 'Monday' Ответ 4 >>> import time >>> dateStr = 'January 11, 2010' >>> timestamp = time.strptime(dateStr, '%B %d, %Y') >>> timestamp time.struct_time(tm_year=2010, tm_mon=1, tm_mday=11, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=11, tm_isdst=-1) Ответ 5 import time time.strftime('%A') Ответ 6 Я думаю, что самый быстрый способ сделать это, как показано ниже: df[Date_Column].dt.weekday_name
Ответ 1 Возможно, вы захотите использовать strptime and strftime методы из datetime: >>> import datetime >>> datetime.datetime.strptime('January 11, 2010', '%B %d, %Y').strftime('%A') 'Monday' или для 'Mon': >>> datetime.datetime.strptime('January 11, 2010', '%B %d, %Y').strftime('%a') 'Mon'
Ответ 2 использовать date.weekday() Возвратите день недели как целое число, где в понедельник 0, а воскресенье - 6. http://docs.python.org/2/library/datetime.html#datetime.date.weekday
Ответ 3 Может использоваться сторонний парсер, например dateutil. И код для вашего оригинального вопроса: >>> from dateutil import parser >>> parser.parse('January 11, 2010').strftime("%a") 'Mon' >>> parser.parse('January 11, 2010').strftime("%A") 'Monday'
Ответ 4 >>> import time >>> dateStr = 'January 11, 2010' >>> timestamp = time.strptime(dateStr, '%B %d, %Y') >>> timestamp time.struct_time(tm_year=2010, tm_mon=1, tm_mday=11, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=11, tm_isdst=-1)
Ответ 6 Я думаю, что самый быстрый способ сделать это, как показано ниже: df[Date_Column].dt.weekday_name