我正在利用 pandas 创建一个如下所示的数据框:
ratings = pandas.DataFrame({
'article_a':[1,1,0,0],
'article_b':[1,0,0,0],
'article_c':[1,0,0,0],
'article_d':[0,0,0,1],
'article_e':[0,0,0,1]
},index=['Alice','Bob','Carol','Dave'])
我想从这个输入计算另一个矩阵,它将每一行与所有其他行进行比较。例如,假设计算是一个查找交集长度的函数,我想要一个输出 DataFrame,len(intersection(Alice,Bob))
第一行有 , len(intersection(Alice,Carol))
,len(intersection(Alice,Dave))
每一行都遵循这种格式。使用此示例输入,输出矩阵将为 4x3:
len(intersection(Alice,Bob)),len(intersection(Alice,Carol)),len(intersection(Alice,Dave))
len(intersection(Bob,Alice)),len(intersection(Bob,Carol)),len(intersection(Bob,Dave))
len(intersection(Carol,Alice)),len(intersection(Carol,Bob)),len(intersection(Carol,Dave))
len(intersection(Dave,Alice)),len(intersection(Dave,Bob)),len(intersection(Dave,Carol))
pandas 中这种基于函数的计算是否有命名方法?实现这一目标的最有效方法是什么?