我試圖使用熊貓從一組結果中選擇一個結果,其中某列是最小值。代表我的數據框的示例表如下:羣組和聚合問題
ID q A B C D --------------- 1 10 1 2 3 4 1 5 5 6 7 8 2 1 9 1 2 3 2 2 8 7 6 5
我想按ID進行分組,然後選擇每個組具有最小q的行。因此,應該選擇對應於ID = 1的第二行和對應於ID = 2的第一行。
我似乎只能選擇每列的最低值,這不是我所需要的。任何人都可以提供一些指導,非常感謝。
我試圖使用熊貓從一組結果中選擇一個結果,其中某列是最小值。代表我的數據框的示例表如下:羣組和聚合問題
ID q A B C D --------------- 1 10 1 2 3 4 1 5 5 6 7 8 2 1 9 1 2 3 2 2 8 7 6 5
我想按ID進行分組,然後選擇每個組具有最小q的行。因此,應該選擇對應於ID = 1的第二行和對應於ID = 2的第一行。
我似乎只能選擇每列的最低值,這不是我所需要的。任何人都可以提供一些指導,非常感謝。
這應該做什麼你問:
In [10]: df.groupby('ID').apply(lambda x: x.ix[x['q'].idxmin()])
Out[10]:
ID q A B C D
ID
1 1 5 5 6 7 8
2 2 1 9 1 2 3
應用返回具有最小「Q」值的指數組行的功能。
OP希望基於特定列值的行最小,而不是所有列的最小值。 – Zelazny7 2013-02-26 15:51:20
這是正確的。這種技術正是我所需要的。謝謝。 – user2111827 2013-02-26 16:10:15
如果你有任何工作可以分享,我相信用戶會有更簡單的時間協助。 – MonkeyDoug 2013-02-26 15:55:46