python pandas header row

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