2016-02-04 56 views
1

後,這是我的代碼:多餘空行頭

import pandas as pd 

data = [('index', 'name', 'age'), ('idx01', 'John', 23), ('idx02', 'Marc', 32), ('idx03', 'Helena', 12)] 

columns = data.pop(0) 
df = pd.DataFrame(data, columns=columns).set_index(columns[0]) 
print(df) 

主要生產:

  name age 
index    <----- Where is this row coming from? 
idx01 John 23 
idx02 Marc 32 
idx03 Helena 12 

我不明白的地方是空index列來自何處。這是一個標題,還是一個數據行?爲什麼會產生?這是只是一個空行,但其他數據框(用其他方法生成)在我的代碼中沒有該空行。我想確保我的數據不會被破壞。

+0

它不是空行。嘗試通過'df.index.name = None'移除'index.name',並且不要有空行。 – jezrael

+0

@jezrael:謝謝!啊哈,這是索引的名字!我假設'set_index'也是這樣設置的。 – dangonfast

+0

是的,如果你從名稱列設置索引,'index.name'是'列名' – jezrael

回答

1

它沒有空行。嘗試通過df.index.name=None刪除index.name,並且沒有空行。如果set_indexname的列相同,index.name的列名稱就像本示例中的index

import pandas as pd 

data = [('index', 'name', 'age'), 
     ('idx01', 'John', 23), 
     ('idx02', 'Marc', 32), 
     ('idx03', 'Helena', 12)] 

columns = data.pop(0) 
df = pd.DataFrame(data, columns=columns).set_index(columns[0]) 
print(df) 
     name age 
index    
idx01 John 23 
idx02 Marc 32 
idx03 Helena 12 

df.index.name=None 
print(df) 
     name age 
idx01 John 23 
idx02 Marc 32 
idx03 Helena 12