2017-08-15 64 views
1

我想從XLSX使用此數據:從Excel導入與熊貓,但缺少指數頭

   Fe Mg Al  Si  P  S  K  Ca  Ti 
      5 0.80 2.09 3.49 7.05 0.19 0.07 0.13 84.28 1.90 
      5 0.75 2.69 3.91 12.42 0.13 0.09 0.18 78.18 1.64 
      3 0.87 2.66 3.71 7.64 0.17 0.05 0.12 82.97 1.81 
       ............... 

但是,當我輸入:

file = 'test.xlsx' 
xl = pd.ExcelFile(file) 
df1 = xl.parse('Sheet1') 

,比試圖給一個名字在0列,而是我只能重新命名的FE面料:

new_columns = df1.columns.values; 
new_columns[0] = 'Fabric'; 
df1.columns = new_columns 

這就是我得到:

  Fabric Mg Al  Si  P  S  K  Ca  Ti 
      5 0.80 2.09 3.49 7.05 0.19 0.07 0.13 84.28 1.90 
      5 0.75 2.69 3.91 12.42 0.13 0.09 0.18 78.18 1.64 
      3 0.87 2.66 3.71 7.64 0.17 0.05 0.12 82.97 1.81 

取而代之的是[:)]:

 Fabric Fe Mg Al  Si  P  S  K  Ca  Ti 
     5 0.80 2.09 3.49 7.05 0.19 0.07 0.13 84.28 1.90 
     5 0.75 2.69 3.91 12.42 0.13 0.09 0.18 78.18 1.64 
     3 0.87 2.66 3.71 7.64 0.17 0.05 0.12 82.97 1.81 

我覺得我缺少在這裏的一些基本的東西,但是當我嘗試搜索這個我沒有運氣,所以請如果你有一個想法,幫助:)。謝謝 !

回答

0

Fabric看起來像您的數據框的索引。您可能最好重置它,然後重命名您的列。

df1 = df1.reset_index() 
df1.columns =['Fabric'] + df1.columns[1:].tolist() 
+0

這似乎不錯,該指數已經作出,但是當我試圖線2的代碼是給我這個: ValueError異常:長度不匹配:預計軸有10個元素,新的價值觀有9個元素。 謝謝你的方式! –

+0

確保您重新分配或者在原地進行,即'df1.reset_index(inplace = True)' – Alexander