我的数据框如下所示
col1 col2
type1 ['A','C','B','D']
type1 ['C','A','F','E']
type1 ['F','E','G','H']
type2 ['A','E','F','G']
type2 ['A','E','J','K']
我必须从col2中的列表中找出经常出现在给定用户输入中的元素。 例如,如果用户输入是A,那么我们必须找到与A一起出现的前3个元素,并且必须对col1中的每个值进行计算。 i、 e
type1 - most frequent element for A - A,C will be the output
type2 - most frequent element for A - A,E will be the output
这里发布的数据是示例数据
我希望我正确理解您的问题-您希望前三项是A的邻居:
印刷品:
C
是A
的2倍邻居,F
在type1
中只有一次E
是A
的2倍邻居,在type2
如果您想要最常见的,您可以在
fn()
中执行以下操作:这张照片是:
产出:
说明:
解决此问题的一种可能方法是使用自定义的^{} 函数
如果出现
user input
,它使用Counter
收集按col1
分组的每行中的所有元素计数,并返回其前2个出现次数。如果要查找前3个匹配项,OP可以将cnt.most_common(2)
中的arg2
更改为3
相关问题 更多 >
编程相关推荐