2016-12-29 75 views
1

我想改變數據框對象。我想將第一行作爲列索引。第一列作爲行索引。pythonic方式使行作爲列索引和列作爲行索引

import pandas as pd 

wiki = "https://en.wikipedia.org/wiki/List_of_state_and_union_territory_capitals_in_India" 
df = pd.read_html(wiki)[1] 
df2 = df.copy() 
df2.head() 

enter image description here

目前我正在做這樣的(我失去在這一行索引名):

df2.columns = df.iloc[0] 
df2.drop(0, inplace=True) 
df2.drop('No.', axis=1, inplace=True) 
df2.head() 

enter image description here

我該怎麼辦呢以更多的Pythonic方式保存行索引名稱?

回答

2

您可以在read_html您的意願直接指定,與header指定爲列使用哪一行,並index_col爲指標來使用的柱:

In [16]: df = pd.read_html(wiki,header=0,index_col=0)[1] 

In [17]: df.head() 
Out[17]: 
     State or union territory Administrative capitals Legislative capitals \ 
No.                    
1 Andaman and Nicobar Islands    Port Blair   Port Blair 
2     Andhra Pradesh   Hyderabad[a]   Hyderabad 
3    Arunachal Pradesh    Itanagar    Itanagar 
4       Assam     Dispur    Guwahati 
5       Bihar     Patna    Patna 

    Judiciary capitals Year capital was established  The Former capital 
No.                   
1    Kolkata       1955  Calcutta (1945–1956) 
2   Hyderabad       1959  Kurnool (1953-1956) 
3    Guwahati       1986      NaN 
4    Guwahati       1975 Shillong[b] (1874–1972) 
5    Patna       1912      NaN 
+0

任何想法,爲什麼DF的名單時做返回pd.read_table? – MYGz