我目前正在使用较小的数据集(约900万行)。不幸的是,大多数条目都是字符串,即使强制使用类别,框架的内存也只有几GB。
我想做的是将每一行与其他行进行比较,并对内容进行直接比较。例如,给定
A B C D
0 cat blue old Saturday
1 dog red old Saturday
我想算一下
d_A d_B d_C d_D
0, 0 True True True True
0, 1 False False True True
1, 0 False False True True
1, 1 True True True True
显然,组合爆炸将无法将每个记录与其他每个记录进行比较。因此,我们可以通过在group A上应用groupby来使用阻塞。
我的问题是,有没有一种方法可以以大熊猫或dask的方式执行此操作,该方法比以下顺序更快:
按索引分组
外部将每个组结合起来以产生对
在成对的每一行上使用dataframe.apply比较函数
作为参考,假设我可以访问大量内核(数百个)以及大约200G的内存。
慕田峪9158850
慕尼黑的夜晚无繁华
相关分类