私は非常に大きな DataFrame を持っており、いくつかの重いグループごとの比較を行いたいと考えています。例として、次のサンプルを見てみましょう。
df = pd.DataFrame({'A': ['foo', 'bar'] * 3,
'B': ['me', 'you', 'me'] * 2,
'C': [5, 2, 3, 4, 6, 9]})
ここで、列 A でグループ化し、これらのグループを効率的にループして、次の方法で行単位の比較を行いたいと思います。
gb = df.groupby(['A'])
for k, gp in gb:
for i in arange(len(gp['C'])):
sum = 0
for j in arange(len(gp['C'])):
if (i != j):
sum = sum + gp['C'].irow(j)
print gp['C'].irow(i) - sum
この操作をより効率的に行い、その結果をデータフレームの別の列に割り当てる可能性はありますか?
私はあなたの助けに深く感謝します
アンディ