python - 如何在 pandas 中按 2 个条件聚合?
问题描述
我有一张如下表
日期 | 火车 | 条件一 | 条件 2 |
---|---|---|---|
第1天 | 1111 | 真的 | 0 |
第2天 | 2222 | 错误的 | 2 |
......
我想将火车与日期分组,
日期 | 列车总数 | train 条件 1 为真 | 训练条件 2 > 0 | 条件 1 为真且条件 2>0 的训练 |
---|---|---|---|---|
第1天 | 1 | 1 | 0 | 0 |
第2天 | 1 | 0 | 1 | 0 |
我写了一个类似下面的函数,发现它似乎不支持不可哈希类型:'list'?
df1 = (
df.groupby('date')
.agg(**{
'train total count': ('train', 'count'),
'train condition1 count': ('conditon1', lambda x: sum(x.gt(0))),
'train condition1 &2 count': (['condition1', 'condition2'], lambda x: sum(x[0] + x[1] > 0))
}).reset_index()
)
解决方案
推荐阅读
- php - 如何将 PayPal 智能支付按钮与 PHP V2 的 REST API SDK 结合起来?
- datadog - 我可以阻止 DataDog 关闭 OpsGenie 事件吗?
- javascript - 我在将数据从 javascript 发送到 python 烧瓶时遇到问题
- amazon-web-services - 查找触发 Lambda 函数的 SQS 名称
- cudd - Cudd_PrintMinterm,访问产品总和中的各个最小项
- mongodb - MongoDB 数组中的 $project
- vba - VBA - 从列表框中删除空项目
- javascript - 自从我开始学习 DOM 已经 2 周了。尝试制作语言切换器。不工作
- python - 如何将 tcp 套接字与 ftp 服务器连接
- assembly - 更改 IRQ8 ISR