2017-06-29 25 views
1

だが、私はこのデータフレームを持っているとしましょう:pandasデータフレームの列名の上に数値を追加するにはどうすればよいですか?

Name Salary Field 
0 Megan 30000 Botany 
1 Ann 24000 Psychology 
2 John 24000 Police 
3 Mary 45000 Genetics 
4 Jay 60000 Data Science 

私は、列名の上のいくつかの0から始まるインデックス番号を追加したいが、私はまた、列名を維持したいと思います。

 0  1  2 
    Name Salary Field 
0 Megan 30000 Botany 
1 Ann 24000 Psychology 
2 John 24000 Police 
3 Mary 45000 Genetics 
4 Jay 60000 Data Science 

パンダとPythonでどうすればいいですか?予想通り

df.columns = pd.MultiIndex.from_tuples(list(enumerate(df))) 

:ここ

+0

上記の数値を追加すると、a)列名を変更するか、b)新しいレベルを追加します。いずれの場合も、同じ方法で列をスライスすることはできません。それは大丈夫ですか? –

+0

これはスライスプロセスに影響することに言及していただきありがとうございます。 – Alex

答えて

5

があると確信しています:

#  0  1    2 
#  Name Salary   Field 
# 0 Megan 30000  Botany 
# 1 Ann 24000 Psychology 
# 2 John 24000  Police 
# 3 Mary 45000  Genetics 
# 4 Jay 60000 Data Science 

このhエルプス。

+0

すごく、ありがとう! – Alex

3

が素早く

new_df = pd.DataFrame(df.values, 
         columns = [ list(range(df.shape[1])), df.columns] 
        ) 

である私は、あなたが新しいデータフレームを作成する必要はありませんもっとエレガントな方法

+0

ニースのソリューション、ありがとう! – Alex

関連する問題