【发布时间】:2019-05-29 00:29:15
【问题描述】:
我有一个如下的数据框:
+-----------+------------+-------------+-----------+
| id_doctor | id_patient | consumption | type_drug |
+-----------+------------+-------------+-----------+
| d1 | p1 | 12.0 | bhd |
| d1 | p2 | 10.0 | lsd |
| d1 | p1 | 6.0 | bhd |
| d1 | p1 | 14.0 | carboxyl |
| d2 | p1 | 12.0 | bhd |
| d2 | p1 | 13.0 | bhd |
| d2 | p2 | 12.0 | lsd |
| d2 | p1 | 6.0 | bhd |
| d2 | p2 | 12.0 | bhd |
+-----------+------------+-------------+-----------+
我想计算每位医生服用 bhd 且消费量
我尝试了以下查询,但它不起作用:
dataframe.groupBy(col("id_doctor"))
.agg(
countDistinct(col("id_patient")).where(col("type_drug") == "bhd" & col("consumption") < 16.0)
)
有什么帮助吗?
谢谢!
【问题讨论】:
-
你想要 SQL 还是 pyspark 答案?
-
嗨 @jarlh 我想要一个 pyspark 查询,因为它的数据集很大
-
@hakim 能否请您分享可以快速用于构建数据框的示例。同时分享您正在寻找的示例输出。