web-dev-qa-db-ja.com

Pandas(python):インデックスのデータフレームに列を追加する方法は?

データフレーム(30行)にあるインデックスの形式は次のとおりです。

Int64Index([171, 174,173, 172, 199..............
        ....175, 200])

データフレームはsort()の出力であるため、インデックスは厳密には増加していません。私はシリーズである列を追加したい:

[1, 2, 3, 4, 5......................., 30]

どうすればそれを行うべきですか?

ありがとう。

23
Navneet

これはどう:

from pandas import *

idx = Int64Index([171, 174, 173])
df = DataFrame(index = idx, data =([1,2,3]))
print df

それは私に与えます:

     0
171  1
174  2
173  3

これはあなたが探しているものですか?

12
nitin

どうですか:

df['new_col'] = range(1, len(df) + 1)

または、インデックスをランクにして、元のインデックスを列として保存する場合:

df = df.reset_index()
68
Chang She

同じことをしようとしているときに、私はこの質問につまずいた(私は思う)。ここに私がそれをした方法があります:

df['index_col'] = df.index

必要に応じて、新しいインデックス列で並べ替えることができます。

53
user1225054