2016-12-29 8 views
1

データフレームオブジェクトを変更したい。列インデックスとして1行目にしたい。行インデックスとして第1列。列インデックスとして行を作成し、行インデックスとして列を作るPythonic方法

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

enter image description here

私はそれをどのように操作を行うことができます。現在、私はこの(私はこれで行インデックス名を失うよ)のようにそれをやっている

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

行のインデックス名を保存するよりPythonの方法で?

答えて

2

あなたはインデックスとして使用する列header列として使用する列指定、およびindex_colで、read_htmlご希望で直接指定することができます。

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

関連する問題