で作成されたグループ化に、それぞれ DF に新しいインデックスを適用できますgroupby
か? 正確に-それを行うためのエレガントな方法はありますか?元のDFはgroupby
グループを介して変更できますか?
UPD: 私のデータは次のようになります。
A B C
0 a x 0.903343
1 a z 0.982050
2 g x 0.274823
3 g y 0.334491
4 c z 0.756728
5 f z 0.697841
6 d z 0.505845
7 b z 0.768199
8 b y 0.743012
9 e x 0.697212
列「A」と「B」でグループ化し、その列の一意の値のすべてのペアが元の DF で同じインデックス値を持つようにします。また、元のDFは大きくなる可能性があり、まったく新しいDFを非効率的に形成することなく、そのような再インデックスを作成する方法を理解しようとしています。
現在、このソリューションを使用しています:
df = pd.DataFrame({'A': [random.choice(ascii_lowercase[:5]) for _ in xrange(10)],
'B': [random.choice(['x', 'y']) for _ in xrange(10)],
'C': [random.random() for _ in xrange(10)]})
df['id'] = None
new_df = pd.DataFrame()
for i, (n, g) in enumerate(df.groupby(['A', 'B'])):
g['id'] = i
new_df = new_df.append(g)
new_df.set_index('id', inplace=True)