假设我有这样一个结果:
consequents
___________
['a']
['b']
['c']
还有一件像这样的东西
items
_____
['a', 'b']
['a']
['b', 'c']
我想得到 consequents
在所有的 items
数组,如:
consequents | freq
___________ _______
['a'] 2
['b'] 2
['c'] 1
我该怎么办?
我设法把这些项目排成一行,就像
items
_____
[['a', 'b'], ['a'], ['b', 'c']]
但我不知道接下来该怎么办。
2条答案
按热度按时间zdwk9cvp1#
可以使用
arrays_overlap
条件,然后进行分组和计数:对于较旧的spark版本(<2.4),可以使用
array_contains
而不是条件:kyvafyod2#
让我们加载数据:
我们注意到
explode
在这种情况下非常有用(如查看dfi.explode('items')
. 很可能你想要的东西可以通过这给了你
但万一
dfi
元素比中的多df
我们可以合并。所以最终的解决办法很简单输出