我有一个非常大的数据框,正在使用dask处理。数据框大体上看起来像这样:
Col_1 Col_2 Bool_1 Bool_2
A 1 True False
B 1 True True
C 1 False False
D 1 True False
A 2 False True
B 2 False False
C 2 True False
D 2 True True
Run Code Online (Sandbox Code Playgroud)
但它有数百万行。
我在代码的这一点上想做的是计算中形成的每个组之间的Jaccard 距离Bool_1和。这是因为该程序的目的是为其中存在的每个组生成一行(每行都有多个统计数据,我仅报告相关列)。Bool_2Col_2Col_2
为此,我首先Col_2使用来对数据帧进行分组df.groupby("Col_2"),但随后我不知道如何继续。到目前为止,我尝试的每一次尝试都引发了错误。
1:我尝试定义一个函数compute_jacc_dist()并将其传递apply(compute_jacc_dist, axis=1)给组,但它在 args 和 kwargs 方面存在问题(尤其是轴,请参阅https://github.com/dask/dask/issues/1572,我还无法解决)。
2:我尝试使用它来计算和from dask_distance import jaccard之间的 J 距离,但它会产生奇怪的结果(即使没有交集,每个组也会返回 J=1)。Bool_1Bool_2 …