DASK中是否有任何方法可以在计算数据集中的不同值时创建并行性

时间:2019-11-11 13:50:03

标签: python-3.x parallel-processing dask

我已经成功地从数据集中提取了特定单词的计数,但是这花费了太多时间。我是并行编程的新手。 如何在以下代码中创建并行性:

df = dd.read_csv('crime.csv', encoding="ISO-8859-1")
distinct_values = df.YEAR.unique().compute()
counter = len(distinct_values)

values_count = {}

for i in distinct_values:
    count = df[df.YEAR == i].YEAR.value_counts().compute()
    values_count.update(count)
list = []
for x, y in values_count.items():
    dict = {}
    for i in x, y:
        dict['name'] = x
        dict['value'] = y
    # print(dict)
    list.append(dict)
# print(list)

maximum = max(distinct_values)
mininmum = min(distinct_values)

1 个答案:

答案 0 :(得分:0)

也许您正在寻找如下的分组汇总?

df.groupby("YEAR").count.compute()

或者,如果您需要执行许多操作,则至少应将dask.compute函数用于许多输入,而不是多次调用.compute方法。