我正在使用看起来像这样的熊猫数据框:

dealerId | product | bid | supplier | cost
------------------------------------------
dealer1    product1  1.5    supplier1  1.4
dealer1    product1  1.5    supplier2  1.1
dealer1    product2  2.0    supplier3  1.3
dealer1    product2  2.0    supplier4  1.6
dealer2    product2  2.0    supplier4  1.6
dealer2    product2  2.0    supplier4  1.6
dealer2    product2  2.0    supplier4  1.6
dealer3    ... ... ... ...


等等。如何获得基于经销商ID和产品的所有可能唯一成本组合?输出示例

combination = {(1.4,1.3) (1.4,1.6) (1.1,1.3)...}

最佳答案

你可以试试

from itertools import combinations
combinations = set(combinations(df['cost'].unique(),2))


如果您正在寻找每种经销商和产品的组合,

df.groupby(['dealerId', 'product']).cost.apply(lambda x: set(combinations(x.unique(), 2)))

关于python - 根据数据框中的项目生成唯一的可能组合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46550334/

10-12 17:04