61

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

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

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

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

どうすればいいですか?

4

4 に答える 4

139

どうですか:

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

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

df = df.reset_index()
于 2012-08-29T03:13:24.517 に答える
92

同じことをしようとしているときに、この質問に出くわしました(と思います)。これが私がやった方法です:

df['index_col'] = df.index

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

于 2013-10-13T18:57:05.170 に答える
21

これはどう:

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

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

于 2012-08-28T23:13:56.213 に答える