In [2]:
df
Out[2]:
0 1 2
0 a b c
1 4 7 10
2 5 8 11
3 6 9 12
In [3]:
# https://stackoverflow.com/questions/31328861/python-pandas-replacing-header-with-top-row

# grab the first row for the header
new_header = df.iloc[0] 

# take the data less the header row
df = df[1:] 

# set the header row as the df header
df.columns = new_header 

df
Out[3]:
a b c
1 4 7 10
2 5 8 11
3 6 9 12