[英]dask dataframe count values
在我DASK數據幀我有一個Series
列表。 因此,列觸發器如下所示:
['a', 'b']
['c']
['a', 'c']
我希望統計一下系列中每個獨特元素的出現,以便得出以下結論:
{'a' : 2,
'b' : 1
'c' : 2}
我設法使其正常工作的唯一方法是:
from collections import Counter
a = df.triggers.loc[:1000000]
b = a.sum()
trigger_counts = Counter(b.compute())
我必須執行.loc[:10000]
以將計算保持在合理的時間內。 我覺得我可以更快地完成此操作。 .value_counts()
在b
不起作用,因為它的類型為dask.dataframe.core.Scalar
,並且沒有該屬性。
您可以嘗試:
import dask.dataframe as dd
ddf = dd.read_csv('file.csv')
ddf.country.value_counts().compute().plot(kind='bar')
在我的案例中,“國家”是一列。
您會在上面得到一個不錯的情節!
您可以執行以下操作:
import pandas as pd
triggers_dummies = (pd.get_dummies(df.triggers.apply(pd.Series)
.stack()).sum(level=0))
counts = np.sum(triggers_dummies, axis=0).to_dict()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.