¿Cómo convertir entero a fecha y hora en Pandas DataFrame?

Analicemos cómo convertir un entero a fecha y hora en él. Ahora, para convertir enteros a fecha y hora en Pandas DataFrame, podemos usar la siguiente sintaxis:

df[‘Columna del marco de datos’] = pd.to_datetime(df[‘Columna del marco de datos’], format=especifique su formato)

Nota: Los datos enteros deben coincidir con el formato especificado.

Ejemplo 1:

Python

# importing pandas package
import pandas as pd
  
# creating a dataframe
values = {'Dates':  [20190902, 20190913, 20190921],
          'Attendance': ['Attended', 'Not Attended', 'Attended']
          }
  
df = pd.DataFrame(values, columns=['Dates', 'Attendance'])
  
# display
print(df)
print(df.dtypes)

Producción:

Como podemos ver, el tipo de datos para la columna ‘Fechas’ es Entero. Ahora, para convertirlo en Datetime, usamos la sintaxis mencionada anteriormente. Dado que en este ejemplo el formato de fecha es aaaammdd , el formato de fecha se puede representar de la siguiente manera:

format= '%Y%m%d'

Para nuestro ejemplo, el código completo para convertir los enteros a DateTime sería:

Python

# importing pandas package
import pandas as pd
  
# creating the dataframe
values = {'Dates':  [20190902, 20190913, 20190921],
          'Attendance': ['Attended', 'Not Attended', 'Attended']
          }
  
df = pd.DataFrame(values, columns=['Dates', 'Attendance'])
  
# converting the integers to datetime format
df['Dates'] = pd.to_datetime(df['Dates'], format='%Y%m%d')
  
# display
print(df)
print(df.dtypes)

Salida :

Ejemplo #2: Ahora, supongamos que el marco de datos tiene una fecha en formato aammdd . En este caso, el formato de fecha ahora contendría ‘y’ en minúsculas:

format='%y%m%d'

Entonces, el código completo de Python se vería de la siguiente manera:

Python

# importing pandas package
import pandas as pd
  
# creating dataframe
values = {'Dates':  [190902, 190913, 190921],
          'Attendance': ['Attended', 'Not Attended', 'Attended']
          }
  
df = pd.DataFrame(values, columns=['Dates', 'Attendance'])
  
# changing the integer dates to datetime format
df['Dates'] = pd.to_datetime(df['Dates'], format='%y%m%d')
  
# display
print(df)
print(df.dtypes)

Producción:

Ejemplo #3: Ahora, supongamos que sus números enteros contienen fecha y hora. En ese caso, el formato que debes especificar es:

format='%Y%m%d%H%M%S'

Así que el código completo de Python sería:

Python

# importing pandas package
import pandas as pd
  
# creating dataframe
values = {'Dates': [20190902093000, 20190913093000, 20190921200000],
          'Attendance': ['Attended', 'Not Attended', 'Attended']
          }
  
df = pd.DataFrame(values, columns=['Dates', 'Attendance'])
  
# changing integer values to datetime format
df['Dates'] = pd.to_datetime(df['Dates'], format='%Y%m%d%H%M%S')
  
# display
print(df)
print(df.dtypes)

Producción:

Ejemplo #4: Considere este DataFrame con microsegundos en nuestros valores DateTime. En este caso, el formato debe especificarse como:

format='%Y%m%d%H%M%S%F'

Así que el código completo de Python será:

Python

# importing pandas package
import pandas as pd
  
# creating dataframe
values = {'Dates':  [20190902093000912, 20190913093000444, 
                     20190921200000009],
          'Attendance': ['Attended', 'Not Attended', 'Attended']
          }
  
df = pd.DataFrame(values, columns=['Dates', 'Attendance'])
  
# changing the integer dates to datetime format
df['Dates'] = pd.to_datetime(df['Dates'], format='%Y%m%d%H%M%S%F')
  
# display
print(df)
print(df.dtypes)

Producción:

Publicación traducida automáticamente

Artículo escrito por annie_saxena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *