Pandas de Python que reemplazan el encabezado por la fila superior
pandas dataframe (3)
Actualmente tengo un marco de datos que se ve así:
Unnamed: 1 Unnamed: 2 Unnamed: 3 Unnamed: 4
0 Sample Number Group Number Sample Name Group Name
1 1.0 1.0 s_1 g_1
2 2.0 1.0 s_2 g_1
3 3.0 1.0 s_3 g_1
4 4.0 2.0 s_4 g_2
Estoy buscando una manera de eliminar la fila del encabezado y hacer que la primera fila sea la nueva fila del encabezado, por lo que el nuevo marco de datos se vería así:
Sample Number Group Number Sample Name Group Name
0 1.0 1.0 s_1 g_1
1 2.0 1.0 s_2 g_1
2 3.0 1.0 s_3 g_1
3 4.0 2.0 s_4 g_2
He intentado cosas a lo largo de las líneas de if ''Unnamed'' in df.columns:
luego haga el marco de datos sin el encabezado df.to_csv(newformat,header=False,index=False)
pero parece que no estoy llegando a ninguna parte.
El marco de datos se puede cambiar simplemente haciendo
df.columns = df.iloc[0]
df = df[1:]
Entonces
df.to_csv(path, index=False)
Debería hacer el truco.
Si quieres un one-liner, puedes hacer:
df.rename(columns=df.iloc[0]).drop(df.index[0])
new_header = df.iloc[0] #grab the first row for the header
df = df[1:] #take the data less the header row
df.columns = new_header #set the header row as the df header