熊猫列交叉点

时间:2018-07-16 17:56:16

标签: python pandas

这个问题类似于this one,但更多地关注性能方面。 我有X对列,其中包含来自数据帧的列表值,我想删除它们并将它们替换为相交项的计数

到目前为止,我已经使用了此解决方案(它可以工作,但是对于数百万行的速度肯定不够快):

for column1,column2 in get_couples():
    interactions[intersection] = [
        len(set(a) & set(b))
        for a, b in zip(interactions[column1], interactions[column2])
    ]

我想也许会朝另一个方向发展,变换系列系列中的列表单元格(我读过该列表,因为dtype列不理想):

stack_query_time_categorical = only_categorical['querySelectedCategories'].apply(pd.Series).stack().astype('category')
    stack_product_categorical = only_categorical['productCategories'].apply(pd.Series).stack().astype('category')
    intersection_stack = pd.Series(len(set(stack_query_time_categorical) & set(stack_product_categorical)))

到目前为止,这不起作用,因为它仅返回第一个交集(索引0)。 所以肯定那里出了问题。 我也不确定这会带来任何性能上的好处...

0 个答案:

没有答案