在python中查找每16行中最频繁的值

问题描述

我有一个描述800人身高的数据框,我想查找每16个人中最常见的身高。我知道我可以使用以下脚本来查找最频繁的值:

df['height'].value_counts().idxmax()

但是它只会给我一个最常见的身高。我已经尝试过以下脚本来查找每16行的频繁高度:

grouper = df.groupby(df.index // 16)
df1 = grouper.agg(
       df['height'].value_counts().idxmax()
)

但是它给我一个错误,说代码找不到“高度”。

还有其他方法可以找到python中每16行最频繁的值吗?

谢谢

解决方法

您可以执行以下操作(假设索引的范围是0到n-否则执行两次reset_index()

df['groups'] = df.reset_index()['index'] // 16
df.groupby('groups').max()

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...