識別子列を持つDataFrameにいくつかのデータがあります。
data = DataFrame({'id' : [50,50,30,10,50,50,30]})
一意のIDごとに、新しい一意の識別子を考え出します。IDを0から始まる連続した整数にしたいのですが、これまでのところ次のようになっています。
unique = data[['id']].drop_duplicates()
unique['group'] = np.arange(len(unique))
unique.set_index('id')
data = data.merge(unique, 'inner', on = 'id')
これは機能しますが、少し汚れているようです。もっと良い方法はありますか?