python - 数据框中的数字频率
问题描述
我有一个这样的数据集(数字):
我想获得所有列中最频繁的数字。
我试过了
#through all the columns
for i in numeros[:16]:
print(numeros[i].value_counts().idxmax())
及其回报
1,7,12,5,8,17,14,9,20,2,6,4,14,2,21
但这只会返回每列中出现频率最高的数字,对吧?考虑到我的所有数据集,如何获得最多的 15 个频繁数字?
解决方案
熊猫解决方案:
df = pd.DataFrame(np.random.randint(1,100,(9,15)))
df = df.stack().to_frame('key')
df['value'] = 1
df.groupby('key').count().sort_values(['value'],ascending=False).iloc[:15]
推荐阅读
- php - 平均非整数时如何显示半星(星级)
- python - 使用蓝牙和 Python 改变安卓手机的音量
- r - aictab() 出错,替换有 3 行,数据有 1
- firebase - 从 Firebase 中存储的照片中解锁 Flutter 面部
- flutter - 如何使用 ListTile 记住和突出显示选定的抽屉项目?
- dart - 如何在 Dart 中检测函数是否是异步的
- python - Python:to_csv 用于解码的数据帧
- google-sheets - 如何在 ARRAYFORMULA 中使用 SUMIFS 函数,匹配两个条件,以避免复制?
- rest - 如何在每个剩余子路径上处理或强制执行数据访问安全性?
- api - 如何知道 API 服务是关闭还是启动