pandas groupby的最小和最大行由
问题描述:
我有一个熊猫数据框,我在列'groupID'上分组。pandas groupby的最小和最大行由
gb = df.groupby('groupID')
每一行都有一个x和y坐标以及一个残差(距离行x = y的距离)。现在我想找到残差最大和最小的组中的2个点(x,y)之间的梯度。我知道如何使用gb ['residual'] .min()和max(),但是这并没有给我行。
我该如何计算?
df[gb ['residual'].idxmin()]
答
我想你需要通过DataFrameGroupBy.idxmax
和DataFrameGroupBy.idxmin
找到max和residual
列的最小值各项指标,然后通过loc
选择:
df1 = df.loc[df.groupby('groupID').residual.idxmax()]
df2 = df.loc[df.groupby('groupID').residual.idxmin()]
谢谢,做了工作。不知道'loc' – marqram