2017-10-26 24 views
0

次のコードでは、異なる動作を理解したいと思います。dask groupby集約正しい使用

これは私は、平均/最小/最大を有する上記の例では、列のグループを集約することができDASK /分散/ 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) 

を使用しています。しかしながら、例えば、 std/var私は一度に1つの列を分割して計算を行う必要があります。

それが動作しない場合には、スタックは、キー・エラーを報告(「num_25」、「num_100」、「num_unq」)

答えて

0

パンダ/ Dask.dataframeであなたはリストを渡すことで、複数の列を選択列の

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

これは機能しますが、わかりにくい動作を把握することはできません。すべての場合において正しいか間違っています。私はこれが正しい方法であることを認めていますが。私は今は知っておくべきだが、どういうわけか私の括弧で不注意だった場合には失敗すると思った。ありがとう。 JC –

関連する問題