Convierta el argumento en fecha y hora.
- Parámetros
-
- arg : int, float, str, datetime, list, tuple, 1-d array, Serie, DataFrame / dict-like
-
El objeto que se va a convertir en una fecha y hora.
- errores : ‘ignorar’, ‘subir’, ‘coaccionar’, por defecto ‘subir’
-
-
Si ‘levanta’, entonces el análisis no válido generará una excepción.
-
Si es ‘forzado’, el análisis no válido se establecerá como NaT.
-
Si ‘ignora’, el análisis no válido devolverá la entrada.
- primer dia : bool, por defecto Falso
-
Especifique un orden de análisis de fecha si arg es str o su lista de me gusta. Si es True, analiza las fechas con el día primero, por ejemplo, 10/11/12 se analiza como 2012-11-10. Advertencia: dayfirst = True no es estricto, pero preferirá analizar primero con day (este es un error conocido, basado en el comportamiento de dateutil).
- primer año : bool, por defecto Falso
-
Especifique un orden de análisis de fecha si arg es str o su lista de me gusta.
-
Si True analiza las fechas con el año primero, por ejemplo, 10/11/12 se analiza como 2010-11-12.
-
Si tanto dayfirst como yearfirst son True, yearfirst está precedido (igual que dateutil).
Advertencia: yearfirst = True no es estricto, pero preferirá analizar primero con el año (este es un error conocido, basado en el comportamiento de dateutil).
- UTC : bool, predeterminado Ninguno
-
Devuelve UTC DatetimeIndex si es verdadero (convirtiendo también cualquier objeto datetime.datetime compatible con tz).
- formato : str, predeterminado Ninguno
-
El strftime para analizar el tiempo, por ejemplo, “% d /% m /% Y”, tenga en cuenta que “% f” analizará hasta nanosegundos. Consulte la documentación de strftime para obtener más información sobre las opciones: https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior.
- exacto : bool, Verdadero por defecto
-
Se comporta como: – Si es verdadero, requiere una coincidencia de formato exacta. – Si es falso, permita que el formato coincida en cualquier lugar del destino string.
- unidad : str, ‘ns’ por defecto
-
La unidad del arg (D, s, ms, us, ns) denota la unidad, que es un número entero o flotante. Esto se basará en el origen. Por ejemplo, con unit = ‘ms’ y origin = ‘unix’ (el valor predeterminado), esto calcularía el número de milisegundos para el inicio de la época de Unix.
- infer_datetime_format : bool, por defecto Falso
-
Si es cierto y no formato , intente inferir el formato de las cadenas de fecha y hora en función del primer elemento que no sea NaN y, si se puede inferir, cambie a un método más rápido para analizarlas. En algunos casos, esto puede aumentar la velocidad de análisis en ~ 5-10x.
- origen : escalar, predeterminado ‘unix’
-
Defina la fecha de referencia. Los valores numéricos se analizarían como número de unidades (definido por unidad) desde esta fecha de referencia.
-
Si es tiempo de ‘unix’ (o POSIX); el origen se establece en 1970-01-01.
-
Si es ‘julian’, la unidad debe ser ‘D’ y el origen se establece en el comienzo del calendario juliano. El día juliano número 0 se asigna al día que comienza al mediodía del 1 de enero de 4713 a. C.
-
Si Timestamp convertible, origin se establece en Timestamp identificado por origen.
- cache : bool, por defecto Verdadero
-
Si es True, use una caché de fechas convertidas únicas para aplicar la conversión de fecha y hora. Puede producir una aceleración significativa al analizar cadenas de fechas duplicadas, especialmente aquellas con desplazamientos de zona horaria. La caché solo se usa cuando hay al menos 50 valores. La presencia de valores fuera de límites inutilizará la caché y puede ralentizar el análisis.
Modificado en la versión 0.25.0: – cambió el valor predeterminado de Falso a Verdadero.
- Devoluciones
-
- fecha y hora
-
Si el análisis tuvo éxito. El tipo de retorno depende de la entrada:
En caso de que no sea posible devolver los tipos designados (por ejemplo, cuando cualquier elemento de entrada esté antes de Timestamp.min o después de Timestamp.max), el retorno tendrá el tipo datetime.datetime (o el correspondiente array/Serie).
Ver también
DataFrame.astype
-
Transmite un argumento a un tipo d especificado.
to_timedelta
-
Convierta el argumento en timedelta.
convert_dtypes
-
Convierta dtypes.
Ejemplos de
Ensamblar una fecha y hora a partir de varias columnas de un DataFrame. los keys pueden ser abreviaturas comunes como [‘year’, ‘month’, ‘day’, ‘minute’, ‘second’, ‘ms’, ‘us’, ‘ns’]) o plurales del mismo
>>> df = pd.DataFrame('year':[2015,2016],...'month':[2,3],...'day':[4,5])>>> pd.to_datetime(df)02015-02-0412016-03-05
dtype: datetime64[ns]
Si una fecha no cumple con el limitaciones de la marca de tiempo, pasar errores = ‘ignorar’ devolverá la entrada original en lugar de generar una excepción.
Pasar errores = ‘coaccionar’ forzará una fecha fuera de límites a NaT, además de forzar no fechas (o fechas no analizables) a NaT.
>>> pd.to_datetime('13000101',format='%Y%m%d', errors='ignore')
datetime.datetime(1300,1,1,0,0)>>> pd.to_datetime('13000101',format='%Y%m%d', errors='coerce')
NaT
Pasar infer_datetime_format = True a menudo puede acelerar un análisis si no es un formato ISO8601 exactamente, sino en un formato normal.
>>> s = pd.Series(['3/11/2000','3/12/2000','3/13/2000']*1000)>>> s.head()03/11/200013/12/200023/13/200033/11/200043/12/2000
dtype:object
>>>%timeit pd.to_datetime(s, infer_datetime_format=True)100 loops, best of 3:10.4 ms per loop
>>>%timeit pd.to_datetime(s, infer_datetime_format=False)1 loop, best of 3:471 ms per loop
Usando un tiempo de época de Unix
>>> pd.to_datetime(1490195805, unit='s')
Timestamp('2017-03-22 15:16:45')>>> pd.to_datetime(1490195805433502912, unit='ns')
Timestamp('2017-03-22 15:16:45.433502912')
Advertencia
Para float arg, puede ocurrir un redondeo de precisión. Para evitar un comportamiento inesperado, utilice un tipo exacto de ancho fijo.
Usando un origen de época que no sea Unix
>>> pd.to_datetime([1,2,3], unit='D',... origin=pd.Timestamp('1960-01-01'))
DatetimeIndex(['1960-01-02','1960-01-03','1960-01-04'], dtype='datetime64[ns]', freq=None)