dask groupby 聚合正确用法

dask groupby aggregation correct usage

我想了解以下代码中的不同行为。

这是使用 dask/distributed/ubuntu 16.04 全新 conda 安装

us=dd.read_parquet("/home/.......",["date","num_25","num_100","num_unq"]).persist()
g=us.groupby("us.date.dt.week)

x=g["num_25","num_100","num_unq"].mean()  # Works !
x=client.persist(x)                       #

x=g["num_25","num_100","num_unq"].var()   #  NOT WORKING
x=client.persist(x)                       #

x=g["num_25","num_100","num_unq"].std()   #  NOT WORKING
x=client.persist(x)                       #

x=g.num_100.var()                         #  Works
x=client.persist(x)

我可以使用 mean/min/max 在上面的示例中聚合列组。

但是,例如std/var 我需要分解并一次计算一列。

在它不起作用的情况下,堆栈会报告一个键错误 ("num_25"、"num_100"、"num_unq")

在 Pandas/Dask.dataframe 中,您可以通过传递列列表来 select 多个列。

df[['a', 'b', 'c']].var()  # good!
df['a', 'b', 'c'].var()    # bad.