ошибка с датой при извлечении недели в пандах - PullRequest
0 голосов
/ 29 марта 2019

Я все пишу нижеприведенный код для получения значений дней недели из календарной даты в панде. но я получаю некоторую ошибку

codetest['DATE'] = pd.to_datetime(codetest['DATE'], format = '%m/%d/%y')
codetest['day_of_week'] = codetest['DATE'].dt.dt.day_name()

ValueError: остаются не преобразованные данные: 12

1 Ответ

0 голосов
/ 29 марта 2019

Предполагая, что у вас есть DATE: строковая переменная, ГГГГ-ММ-ДД ЧЧ: ММ: СС

Шаг 1: Преобразование столбца «ДАТА» в datetime

codetest['DATE'] = pd.to_datetime(codetest['DATE'])

Шаг 2: Извлеките все обязательные поля в новом столбце, используя следующий код

codetest['Hour'] = codetest['DATE'].apply(lambda time: time.hour)
codetest['Month'] = codetest['DATE'].apply(lambda time: time.month)
codetest['Day of Week'] = codetest['DATE'].apply(lambda time: time.dayofweek)
codetest['Year'] = codetest['DATE'].apply(lambda t: t.year)
codetest['Date'] = codetest['DATE'].apply(lambda t: t.day)

шаг 3: если вы хотите, чтобы ваш день недели был прописным, чем использовать функцию карты

dmap = {0:'Mon',1:'Tue',2:'Wed',3:'Thu',4:'Fri',5:'Sat',6:'Sun'}
codetest['Day of Week'] = codetest['Day of Week'].map(dmap)

...