从表中选择计数(当 X > Y 然后seller_id否则为空结尾时的不同大小写) 按列分组 熊猫 等效



我有一个查询需要几个小时才能运行,因为我在同一数据集上运行多个计算,并且必须为不同的计算重复查询同一数据集。

我没有能力创建临时表。

我的数据集看起来像:

ITEM NUMBER | BRAND | X | Seller ID | Y 

我需要计算每个品牌中x> y值为真的唯一卖家。

为什么不只写一个查询呢?

select brand, count(distinct sellerID)
from t
where x > y
group by brand;

g = df.groupby('brand')g.apply(λx: x (x[‘column_x]> [' column_y ']] [' item_number '] .count ())

接近我所需要的。这给出了满足条件的所有实例,但现在我需要与满足条件的实例相关联的不同的卖方id。

我也已经能够创建一个子集,并这样做:

df (df [x]> df [y]] .groupby("品牌")("item_number").count ()

我想我可以试试这样做:

g = wbc_total.groupby('brand')g.apply(λx: len (x (x[‘column_x]> [' column_y ']] [' comp_id '] .unique ()))

刚刚生效

最新更新