python - Python通过基于值过滤特定行来分组
问题描述
我有一个按某些键分组的数据框。现在我的目标是根据给定列的值选择每个组中的特定行
df_data.groupby([df_data.index, 'symbol']).filter(lambda x: x['Rank'] == 7)
我本来期望满足此条件的行,但是我收到一条错误消息,说“过滤器函数返回了一个系列,但期望一个标量布尔值”
尝试一些不同的(在谷歌搜索之后) -
df_sql.groupby([df_sql.index, 'symbol']).filter(lambda x: (x['Rank'] == 7).all())
我现在得到了 Empty DataFrame,虽然我知道它不应该是空的。
任何有关解释的帮助将不胜感激。
解决方案
推荐阅读
- mocking - 如何在测试用例中伪造 sys.stdout.istty 而不会与 pytest 标准输出捕获冲突?
- mysql - MYSQL - 由于子查询,结果正常吗?
- python - 我是否在推理模型中正确应用了 seq2seq 中的嵌入层?
- asp.net - ASP.NET MVC - 显示/隐藏基于微软活动目录服务角色的网页链接
- excel - 条目不应大于特定的修复编号
- python - Python 3 Tkinter 闪屏
- windows - 是否有命令检查 PDF 中有多少页?
- mysql - 在 node.js 项目中实现数据库查询以读取和写入 MySQL 副本的正确方法?
- c# - 在不使用代码隐藏的情况下,使用 WPF MVVM 呈现用户控件列表的正确方法是什么?
- rabbitmq - 使用 Celery 执行器将 Airflow 作为集群运行时的问题