【发布时间】:2020-12-07 05:19:29
【问题描述】:
我有一个描述 800 人身高的数据框,我想找出每 16 人中最常见的身高。我知道我可以使用以下脚本来查找最常见的值:
df['height'].value_counts().idxmax()
但它只会给我一个最常见的身高。我已经尝试使用以下脚本来查找每 16 行的频繁高度:
grouper = df.groupby(df.index // 16)
df1 = grouper.agg(
df['height'].value_counts().idxmax()
)
但它给了我一个错误,说代码找不到“高度”。
有没有其他方法可以在python中找到每16行中出现频率最高的值?
谢谢
【问题讨论】:
-
df.groupby(df.index//16).apply(lambda d: d['height'].value_counts().idxmax())? -
啊,谢谢!它有效
标签: python pandas statistics pandas-groupby frequency