Me he encontrado con esta pregunta muchas veces en Internet, sin embargo, no hay muchas respuestas, excepto algunas de las siguientes:
No se puede cambiar el nombre de la primera columna en pandas DataFrame
Me acerqué a lo mismo usando lo siguiente:
df = df.rename(columns={df.columns[0]: 'Column1'})¿Hay una forma mejor o más limpia de cambiar el nombre de la primera columna de un marco de datos de pandas? ¿O algún número de columna específico?
Ya estás usando una forma más limpia en pandas.
Es triste que:
df.columns[0] = 'Column1' Es imposible porque los objetos Index no admiten asignaciones mutables. Daría un TypeError .
Todavía podrías hacer un desempaquetado iterable:
df.columns = ['Column1', *df.columns[1:]]O:
df = df.set_axis(['Column1', *df.columns[1:]], axis=1)No estoy seguro si es más limpio, pero la idea posible es convertir a la lista y establecerla indexando un nuevo valor:
df = pd.DataFrame(columns=[4,7,0,2]) arr = df.columns.tolist() arr[0] = 'Column1' df.columns = arr print (df) Empty DataFrame Columns: [Column1, 7, 0, 2] Index: []