Combinar la primera fila con los encabezados de columna en un dataframe

Estoy tratando de limpiar un archivo de Excel para una investigación más a fondo. Problema que tengo, quiero unir la primera y la segunda fila. El código que tengo ahora:

xl = pd.ExcelFile("nanonose.xls") df = xl.parse("Sheet1") df = df.drop('Unnamed: 2', axis=1) ## Tried this line but no luck ##print(df.head().combine_first(df.iloc[[0]])) 

La salida de esto es:

  Nanonose Unnamed: 1 ABCDE \ 0 Sample type Concentration NaN NaN NaN NaN NaN 1 Water 9200 95.5 21.0 6.0 11.942308 64.134615 2 Water 9200 94.5 17.0 5.0 5.484615 63.205769 3 Water 9200 92.0 16.0 3.0 11.057692 62.586538 4 Water 4600 53.0 7.5 2.5 3.538462 35.163462 FGH 0 NaN NaN NaN 1 21.498560 5.567840 1.174135 2 19.658560 4.968000 1.883444 3 19.813120 5.192480 0.564835 4 6.876207 1.641724 0.144654 

Por lo tanto, mi objective es combinar la primera y la segunda fila para obtener: Tipo de muestra | Concentración | Un | B | C | D | E | F | G | H

¿Podría alguien ayudarme a fusionar estas dos filas?

Creo que necesitas numpy.concatenate , un principio similar como la respuesta de cᴘᴇᴇᴅs :

 df.columns = np.concatenate([df.iloc[0, :2], df.columns[2:]]) df = df.iloc[1:].reset_index(drop=True) print (df) Sample type Concentration ABCDEF \ 0 Water 9200 95.5 21.0 6.0 11.942308 64.134615 21.498560 1 Water 9200 94.5 17.0 5.0 5.484615 63.205769 19.658560 2 Water 9200 92.0 16.0 3.0 11.057692 62.586538 19.813120 3 Water 4600 53.0 7.5 2.5 3.538462 35.163462 6.876207 GH 0 5.567840 1.174135 1 4.968000 1.883444 2 5.192480 0.564835 3 1.641724 0.144654 

Simplemente reasigne df.columns .

 df.columns = np.append(df.iloc[0, :2], df.columns[2:]) 

O,

 df.columns = df.iloc[0, :2].tolist() + (df.columns[2:]).tolist() 

A continuación, salta la primera fila.

 df = df.iloc[1:].reset_index(drop=True) df Sample type Concentration ABCDEF \ 0 Water 9200 95.5 21.0 6.0 11.942308 64.134615 21.498560 1 Water 9200 94.5 17.0 5.0 5.484615 63.205769 19.658560 2 Water 9200 92.0 16.0 3.0 11.057692 62.586538 19.813120 3 Water 4600 53.0 7.5 2.5 3.538462 35.163462 6.876207 GH 0 5.567840 1.174135 1 4.968000 1.883444 2 5.192480 0.564835 3 1.641724 0.144654 

reset_index es opcional si desea un índice 0 para su salida final.