2016-06-28 4 views
15

DOB значение столбца образца находится в формате - 1/1/2016, который по умолчанию преобразуется в объект, как показано нижеКак изменить формат DATETIME в панд

DOB  object 

Преобразование в формат даты

df['DOB'] = pd.to_datetime(df['DOB']) 

Дата преобразует в

2016-01-26 

dtype является

DOB  datetime64[ns] 

Теперь я хочу преобразовать этот формат даты в 01/26/2016 или в любые другие общие форматы дат. Как мне это сделать?

Какой бы метод я ни старался, он всегда показывает дату в формате 2016-01-26.

ответ

33

Вы можете использовать dt.strftime, если нужно конвертировать datetime в другие форматы, но затем dtype из столбца object (string):

import pandas as pd 

df = pd.DataFrame({'DOB': {0: '26/1/2016 ', 1: '26/1/2016 '}}) 
print (df) 
     DOB 
0 26/1/2016 
1 26/1/2016 

df['DOB'] = pd.to_datetime(df.DOB) 
print (df) 
     DOB 
0 2016-01-26 
1 2016-01-26 

df['DOB1'] = df['DOB'].dt.strftime('%m/%d/%Y') 
print (df) 
     DOB  DOB1 
0 2016-01-26 01/26/2016 
1 2016-01-26 01/26/2016 
+5

«STRFTIME» преобразует столбец DATETIME в UNICODE для применения операции на DOB1 мы снова нужно преобразовать его в datetime. Разве нет другого способа формирования без потери data_type? –