2016-04-15 11 views
1

データをソートした後、新しいインデックスフィールドを作成しようとしています。ここでPythonでソート後、新しいインデックスフィールドを作成する方法

は私のコードです:

 Col_A Col_B Col_C 
    2  11  46  15 
    3  23  87  81 
    0  38 125  56 
    1  98  23 150 

私は下図のように「Col_D」と呼ばれる新しい列を作成する必要があります:

出力上記の私のコードを持つので

mydata_1=[[38,125,56],[98,23,150],[11,46,15],[23,87,81]]    
    cols= ['Col_A','Col_B','Col_C']   
    mydata_2= pd.DataFrame(mydata_1, columns=cols) 
    mydata_3= mydata_2.sort('Col_A') 

は次のようになります

 Col_A Col_B Col_C Col_D 
    2  11  46  15  1 
    3  23  87  81  2 
    0  38 125  56  3 
    1  98  23 150  4 

また、私はこれを多くのデータセットで使用します。範囲を指定せずにこれを行う方法はありますか?ここで

+0

あなたは意志列Dを埋めることがどのようなロジックを考えるコラムD.を記入する方法をその本当にはっきりしていないに行きますか? –

+0

それは私が見つけたいと思っていたものです。私は、連続した値の新しい列を作成する必要があります。これどうやってするの? – djacobs1216

+0

気にしない、あなたの求めるものを手に入れます。列Aでソートした後は、インデックスとして使用するために自動インクリメントされる新しい列が必要になります。 [OK]を、1分、私は答えのセクションで解決策を投稿します。 –

答えて

1

あなたは

import pandas as pd 

mydata_1=[[38,125,56],[98,23,150],[11,46,15],[23,87,81]]    
cols= ['Col_A','Col_B','Col_C']   
mydata_2= pd.DataFrame(mydata_1, columns=cols) 
mydata_3= mydata_2.sort('Col_A') 
mydata_3["Col_D"] = range(len(mydata_3.index)) 
print(mydata_3) 

enter image description here

+0

これはまさに私が探していたものです。ありがとう! – djacobs1216

+0

喜んで助けになる:) –

関連する問題