2016-06-28 16 views
15

DOB wartość próbki kolumna jest w formacie - 1/1/2016 który domyślnie zostanie przekonwertowany do sprzeciwu, jak pokazano poniżejJak zmienić format datetime w pand

DOB  object 

Konwersja na format daty

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

Data konwertuje do

2016-01-26 

dtype jest

DOB  datetime64[ns] 

Teraz chcę przekonwertować ten format daty na 01/26/2016 lub w dowolnym innym ogólnym formacie daty. Jak mam to zrobić?

Niezależnie od metody, którą wypróbuję, zawsze wyświetlana jest data w formacie 2016-01-26.

Odpowiedz

33

Można użyć dt.strftime, jeśli trzeba konwertować datetime do innych formatów, ale potem dtype kolumny jest 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” zamienia kolumnę datetime do Unicode stosowania operacji na DOB1 my znowu trzeba go przekonwertować na datetime. Czy nie istnieje inny sposób formatowania bez utraty typu data_type? –

Powiązane problemy