Annis15:
Hola Mundo,
Nuevo en Python, estoy tratando de convertir una columna (AÑO) en un formato.
La columna contiene 2 formatos: - yy - aaaa
Aquí hay un ejemplo
year
2007
07
1999
2001
99
Lo que he intentado es llenado 20 años antes de la columna, pero ¿qué pasa cuando la fecha es 99.
La salida deseo será algo así como
year new_year
2007 2007
07 2007
1999 1999
2001 2001
99 1999
Gracias por ayudar a cualquier persona
Jezreel:
Uso to_datetime
con formato para YY
- %y
y errors='coerce'
, y con Series.dt.year
, por lo que no formato de YY
retorno valores perdidos reemplazada por la original de Series.fillna
:
df['new_year'] = (pd.to_datetime(df['year'], format='%y', errors='coerce').dt.year
.fillna(df['year'])
.astype(int))
print (df)
year new_year
0 2007 2007
1 07 2007
2 1999 1999
3 2001 2001
4 99 1999