Cambiar el tipo de columna con 2 formato de Python

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_datetimecon formato para YY- %yy errors='coerce', y con Series.dt.year, por lo que no formato de YYretorno 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

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=298550&siteId=1
Recomendado
Clasificación