python分割函数_python-基于列或函数的Dask Dataframe拆分分区

我最近开始在Dask寻找大数据.

我对有效并行应用操作有疑问.

说我有一些这样的销售数据:

customerKey productKey transactionKey grossSales netSales unitVolume volume transactionDate

----------- -------------- ---------------- ---------- -------- ---------- ------ --------------------

20353 189 219548 0.921058 0.921058 1 1 2017-02-01 00:00:00

2596618 189 215015 0.709997 0.709997 1 1 2017-02-01 00:00:00

30339435 189 215184 0.918068 0.918068 1 1 2017-02-01 00:00:00

32714675 189 216656 0.751007 0.751007 1 1 2017-02-01 00:00:00

39232537 189 218180 0.752392 0.752392 1 1 2017-02-01 00:00:00

41722826 189 216806 0.0160143 0.0160143 1 1 2017-02-01 00:00:00

46525123 189 219875 0.469437 0.469437 1 1 2017-02-01 00:00:00

51024667 189 215457 0.244886 0.244886 1 1 2017-02-01 00:00:00

52949803 189 215413 0.837739 0.837739 1 1 2017-02-01 00:00:00

56526281 189 220261 0.464716 0.464716 1 1 2017-02-01 00:00:00

56776211 189 220017 0.272027 0.272027 1 1 2017-02-01 00:00:00

58198475 189 215058 0.805758 0.805758 1 1 2017-02-01 00:00:00

63523098 189 214821 0.479798 0.479798 1 1 2017-02-01 00:00:00

65987889 189 217484 0.122769 0.122769 1 1 2017-02-01 00:00:00

74607556 189 220286 0.564133 0.564133 1 1 2017-02-01 00:00:00

75533379 189 217880 0.164387 0.164387 1 1 2017-02-01 00:00:00

85676779 189 215150 0.0180961 0.0180961 1 1 2017-02-01 00:00:00

88072944 189 219071 0.492753 0.492753 1 1 2017-02-01 00:00:00

90233554 189 216118 0.439582 0.439582 1 1 2017-02-01 00:00:00

91949008 189 220178 0.1893 0.1893 1 1 2017-02-01 00:00:00

91995925 189 215159 0.566552 0.566552 1 1 2017-02-01 00:00:00

我想做几个不同的groupby,首先在customerKey上应用groupby.

然后应用customerKey上的另一个groupby-sum和一个将作为previos groupby结果的列.

我能想到的最有效的方法是将数据帧拆分为客户密钥块的分区.

因此,例如,我可以使用分区方案将数据帧分为4个块,例如(pseudocode)

按customerKey%4划分

然后,我可以使用map_partitions对每个分区进行分组,然后最后返回结果.但是,似乎模糊迫使我对我想做的每个分组进行洗牌.

有没有办法根据列的值重新分区?

目前,在只有约80,000行的数据帧上,有4个工作人员需要大约45s.我正计划将其扩展到数以万亿计的行的数据帧,而且似乎已经开始可怕地扩展了.

我是否错过了Dask的基础知识?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值