dates - python date to string
Cómo cambiar el formato de fecha y hora en pandas (6)
El valor de muestra de la columna DOB está en el formato:
1/1/2016
que de forma predeterminada se convierte en objeto como se muestra a continuación
DOB object
Convertir a formato de fecha
df[''DOB''] = pd.to_datetime(df[''DOB''])
La fecha se convierte a
2016-01-26
dtype
es
DOB datetime64[ns]
Ahora quiero convertir este formato de fecha al
01/26/2016
o en cualquier otro formato de fecha general.
¿Cómo lo hago?
Cualquiera sea el método que lo intente, siempre muestra la fecha en formato
2016-01-26
.
Cambiar el formato pero no cambiar el tipo:
df[''date''] = pd.to_datetime(df["date"].dt.strftime(''%Y-%m''))
El código a continuación cambia al tipo ''datetime'' y también se formatea en la cadena de formato dada. ¡Funciona bien!
df[''DOB'']=pd.to_datetime(df[''DOB''].dt.strftime(''%m/%d/%Y''))
El siguiente código funcionó para mí en lugar del anterior, ¡pruébelo!
df[''DOB'']=pd.to_datetime(df[''DOB''].astype(str), format=''%m/%d/%Y'')
En comparación con la primera respuesta, recomendaré usar dt.strftime () primero, luego pd.to_datetime (). De esta manera, todavía dará como resultado el tipo de datos datetime.
Por ejemplo,
import pandas as pd
df = pd.DataFrame({''DOB'': {0: ''26/1/2016 '', 1: ''26/1/2016 ''})
print(df.dtypes)
df[''DOB1''] = df[''DOB''].dt.strftime(''%m/%d/%Y'')
print(df.dtypes)
df[''DOB1''] = pd.to_datetime(df[''DOB1''])
print(df.dtypes)
Puede probar esto, convertirá el formato de fecha a DD-MM-AAAA:
df[''DOB''] = pd.to_datetime(df[''DOB''], dayfirst = True)
Puede usar
dt.strftime
si necesita convertir
datetime
a otros formatos (pero tenga en cuenta que el
dtype
de la columna será
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