0

我正在尝试使用 Blaze 执行一个简单的操作,例如 sql HAVING。当我将 by 操作与过滤操作链接在一起时,Blaze 没有正确链接这两个命令。

在 sqlite 中使用此数据:

   index customer    item  quantity
0      0     Greg  Apples       5.0
1      1     Greg    Soup       NaN
2      2    Susan   Pears       2.0
3      3    Susan  Apples       3.0

这两个操作导致无效的SQL

cnts = by(sqllitedf.customer,cnt=sqllitedf.quantity.count())
res = cnts[cnts.cnt > 1]

这是生成的 SQL。请注意,这两个操作没有正确链接在一起。相反,错误地使用了 COUNT 函数。

print(compute(res))

SELECT df.customer, count(df.quantity) AS cnt 
FROM df 
WHERE count(df.quantity) > ? GROUP BY df.customer

在 Jupyter Notebook 中复制

4

1 回答 1

0

在这里回答我自己的问题:看起来这是 Blaze 的一个已知问题:https ://github.com/blaze/blaze/issues/1457 。此外,自 2016 年秋季以来,Blaze 似乎没有太大的发展,因此不太可能很快得到修复。我会避开 Blaze,除非它再次变得更加活跃。

于 2017-02-13T20:18:57.483 回答