Pandas/SQL共现计数
假设我有以下表格/数据框:
d = {'store': ['s1', 's1', 's2', 's2',], 'product': ['a', 'c', 'a', 'c']}
df = pd.DataFrame(data=d)
print(df)
store product
0 s1 a
1 s1 c
3 s2 a
4 s2 c
我想找出每对产品在商店中共同出现的次数。
由于数据非常大(5M 行和大约 50K 个单独的产品和 20K 个单独的商店)并且有很多潜在的共现对,我只想获得每个产品的前 n 个(例如:10)共现和同时发生的次数。示例结果如下:
product_1 product_2 cooccurrence_count
0 a c 2
1 c a 2
用 SQL 代替 Pandas 的有效且高效的解决方案也是可以接受的