私はいつもこれで驚いています:Pandas DataFrame.sort()を使用しているときに、実際に行の番号を変更できるようにすることはできますか?
> data = DataFrame({'x':[1, 2], 'y':[2, 1]})
> data = data.sort('y')
> data
x y
1 2 1
0 1 2
> data['x'][0]
1
は、私はインデックスが新しい順序に合わせて再割り当てされることがあります方法はありますか?
私はいつもこれで驚いています:Pandas DataFrame.sort()を使用しているときに、実際に行の番号を変更できるようにすることはできますか?
> data = DataFrame({'x':[1, 2], 'y':[2, 1]})
> data = data.sort('y')
> data
x y
1 2 1
0 1 2
> data['x'][0]
1
は、私はインデックスが新しい順序に合わせて再割り当てされることがあります方法はありますか?
私の意見では、インデックス情報を捨てないとうれしいです。そうした場合、他の列とは対照的に、最初にインデックスを持つことにはあまり意味がありません。
あなたが範囲にインデックスをリセットしたい場合は、あなたの可能性:
再割り当てしたり、気に入ったようinplace=True
を使用することができ
>>> data
x y
1 2 1
0 1 2
>>> data.reset_index(drop=True)
x y
0 2 1
1 1 2
。代わりに、本当の問題は、あなたが、インデックスの独立した立場でアクセスしたいということであれば、あなたはiloc
を使用することができます。
>>> data['x']
1 2
0 1
Name: x, dtype: int64
>>> data['x'][0]
1
>>> data['x'].iloc[0]
2
パーフェクト;ありがとうございました! – Owen
インデックスは例えば、タイムスタンプされている場合、これは意味がありません。必要に応じて、インデックスプロパティを再割り当てすることができます。 –