2015-07-09 58 views
10

我現在有一個數據幀,看起來像這樣:我正在尋找一種方式來刪除標題行,並在第一行的新標題行Python的大熊貓與頂行更換頭

  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 

,所以新的數據幀是這樣的:沿着if 'Unnamed' in df.columns:

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 

我試過的東西然後進行數據框無頭df.to_csv(newformat,header=False,index=False),但我似乎沒有在任何地方獲得。任何幫助表示讚賞!

回答

31
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 
6

內存中的數據幀可以通過只是在做

df.columns = df.iloc[0] 
df = df[1:] 

然後

df.to_csv(path, index=False) 

應該做的伎倆被改變。

+0

這是一個bettter的答案,因爲沒有在該冗餘代碼(new_header)。 –

0

如果你想要一個班輪,你可以這樣做:

df.rename(columns=df.iloc[0]).drop(df.index[0])