2015-07-09 17 views
10

Şu anda şöyle bir dataframe vardır:Python Pandalar

  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 

Ben başlık satırını silin ve ilk satırda yeni başlık satırını yapmak için bir yol arıyorum, bu yüzden yeni dataframe şu şekilde görünecektir: if 'Unnamed' in df.columns: çizgisinde

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 

denedim şeyler sonra başlığında df.to_csv(newformat,header=False,index=False) olmadan dataframe yapmak ama hiçbir yere alıyor gibi görünmüyor. Herhangi bir yardım takdir edilir!

cevap

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

bellekte veri çerçevesi sadece Ardından

df.to_csv(path, index=False) 

hile yapmak mı

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

yaparak değiştirilebilir. Eğer tek astar istiyorsanız

+0

Bu bettter cevabı, bu gereksiz kodu (new_header) olmadığından. –

0

, yapabileceğiniz:

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