1
我有以下多索引數據幀:大熊貓:GROUPBY只有當條件滿足
m dist
a a 2 5
b 3 8
c 4 12
d 2 3
b a 2 5
b 3 8
c 4 14
d 2 27
我要計算一個新列S的基於算法。例如,對於(a,a),算法如下:
選擇具有相同級別0索引的所有其他行: - >(a,a),(a,b),(a,c )中,(a,d)
從該選擇:選擇具有DIST < =自己DIST行 - >(A,A)和(a,d)
獲得的第m列的總和的選擇 - > 2 + 2 = 4
這將導致以下數據幀:
m dist s
a a 2 5 4
b 3 8 7
c 4 12 11
d 2 3 2
b a 2 5 2
b 3 8 5
c 4 14 9
d 2 27 11
通過循環遍歷行,爲每行創建一個新的數據框,選擇具有正確dist的行並執行groupby,這將很容易。但對於我目前的數據集來說,這太慢了。這可以通過一些很好的groupby/lambda魔法來實現嗎?