python - 如果对象的计数最大,则仅保留行
问题描述
我有一个熊猫数据框如下
A B
1 2
1 2
1 0
1 2
2 3
2 3
2 1
3 0
3 0
3 1
3 2
我想得到以下输出
A B
1 2
1 2
1 2
2 3
2 3
3 0
3 0
这意味着我只需要 A 的计数最大的行。有什么解决办法吗?
非常感谢!
解决方案
您可以groupby()
结合Series.mode()
:
df_out = df[df.groupby("A")["B"].transform(lambda x: x == x.mode()[0])]
print(df_out)
印刷:
A B
0 1 2
1 1 2
3 1 2
4 2 3
5 2 3
7 3 0
8 3 0
推荐阅读
- c# - 动态 ValueOf 类型执行
- python - 如何重新采样 6 个月
- angular - Angular 6 真的很长时间才能刷新
- php - ZF2:如何检查表是否已加入 Select
- python-3.x - 使用 Matplotlib imshow meshgrid 和自定义颜色创建图像
- three.js - 2 three.js 画布不同时渲染
- javascript - 如果条件使用 React Router V4 更改路由
- r - 如何在 R 中的给定数据框中找到每月平均支出?
- sql - 在 SQL 查询中尝试/捕获多个联合
- image - 在八度音阶的 ylabel 中打印带下标的绘图时间距没有错