我有一个像这样的测向仪:
Group Attribute
Cheese Dairy
Cheese Food
Cheese Curd
Cow Dairy
Cow Food
Cow Animal
Cow Hair
Cow Stomachs
Yogurt Dairy
Yogurt Food
Yogurt Curd
Yogurt Fruity
我想对每个组做的是根据属性的交集找到它最喜欢的组。我想要的结尾形式是:
^{pr2}$我知道这可能会问很多问题。我可以做很多,但我真的不知道如何计算属性的交集,即使是在一组和另一组之间。如果我能找到奶酪和酸奶之间的交叉点计数,我就能找到正确的方向。在
有可能在数据帧内完成吗?我可以看到制作多个列表并在所有列表对之间进行交集,然后使用新的列表长度来获得百分比。在
例如,对于酸奶:
>>>Yogurt = ['Dairy','Food','Curd','Fruity']
>>>Cheese = ['Dairy','Food','Curd']
>>>Yogurt_Cheese = len(list(set(Yogurt) & set(Cheese)))/len(Yogurt)
0.75
>>>Yogurt = ['Dairy','Food','Curd','Fruity']
>>>Cow = ['Dairy','Food','Animal','Hair','Stomachs']
>>>Yogurt_Cow = len(list(set(Yogurt) & set(Cow)))/len(Yogurt)
0.5
>>>max(Yogurt_Cheese,Yogurt_Cow)
0.75
似乎您应该能够制定一个聚合策略来解决这个问题。试着看看这些编码示例,想想如何在你的数据帧上构造键和聚合函数,而不是像你的例子中那样尝试着用邮件来处理它。在
尝试在您的python环境中运行它(它是使用python 2.7在Jupyter笔记本中创建的),并查看它是否提供了有关代码的一些想法:
我创建了自己的小版本的示例数组。在
对于我的样本数据,我得到了输出
^{pr2}$这似乎是对的。在
相关问题 更多 >
编程相关推荐