【发布时间】:2020-12-12 21:47:57
【问题描述】:
我有以下熊猫数据框:
我想复制以下 SQL 查询:
SELECT
cars,
city,
CASE WHEN miles_travelled=100 THEN SUM(complaints)/SUM(calls) ELSE 0 END as ratio
FROM table
GROUP BY cars, city
这是我最近的一次:
table.groupby(['cars','city','miles_travelled'])['complaints','calls'].sum()
谁能帮忙。
【问题讨论】:
-
从 SQL 的角度来看,这不是一个有效的聚合查询。
miles_travelled在select子句中,但不在group by子句中。 -
miles_travelled 不在 select 子句中。它在case语句中,它是聚合的
-
我不熟悉 SQL
CASE方法,所以您是否希望miles_travelled成为分组数据框中的另一个索引(具有汽车、城市和英里旅行的每个组合的比率值)或您是否只需要汽车和城市的每个组合的比率值,但比率的合计值不包括miles_travelled = 100 的投诉/电话?无论哪种情况,您最好先添加一个比率列,然后再进行分组聚合。