python - 在熊猫数据框中按组行数删除组
问题描述
我需要删除组中行数少于 3 的所有标记。
数据框:-
令牌 | 积极的 | |
---|---|---|
0 | 58 | 1 |
1 | 58 | 8 |
2 | 63 | 5 |
3 | 63 | 9 |
4 | 63 | 0 |
5 | 97 | 6 |
6 | 97 | 1 |
我过滤了少于 3 行的组,但是如何从主数据框中删除这些组?
c_df = df.groupby('token').agg('count')
sc_df = c_df.loc[c_df['active'] < 3]
print(sc_df)
当前结果:-
令牌 | 积极的 |
---|---|
58 | 2 |
97 | 2 |
解决方案
您可以使用切片:
df = df[df.groupby('token')['active'].transform('count').ge(3)]
输出:
token active
2 63 5
3 63 9
4 63 0
推荐阅读
- node.js - Mongoose 自定义 SchemaType toJSON/Transform
- git - Azure devops - git repo 同步
- javascript - 尝试在多个选项卡中同步访问令牌的竞争条件
- symfony - 删除具有两个 OneToOne 关系的实体
- redux - Saga Setup,未执行 fetch
- xml - 我的 XSLT 提取与节点值对应的值有什么问题?
- perl - 在不遍历整个哈希的情况下查找子哈希中的密钥
- c# - 有没有办法在不解压缓冲区(C++/CLR)的情况下使用 CredUIPromptForWindowsCredentialsW?
- sql - 有没有办法根据 R 中的一组条件使用表 T2 中的列 B 更新表 T1 中的列 A?
- python-3.x - python3中的随机模块不可调用错误