【发布时间】:2021-06-14 08:36:34
【问题描述】:
我有一个如下所示的表格:
| Celebrity | Username |
|---|---|
| A | user1 |
| B | user1 |
| C | user2 |
| A | user3 |
| A | user2 |
| D | user2 |
| D | user3 |
我写了一个函数来查找两个名人之间的用户重叠:
def num_of_fans_overlap(cel1,cel2,data,Celebrity,Usernames):
l = [cel1,cel2]
Res = len(data.loc[data['Usernames'].map(data.groupby('Usernames').agg(set)['Celebrity'].eq(set(l)))])/2
return print(int(Res))
例如,如果我运行 num_of_fans_overlap(A,B,data,"Celebrity","Username"),我会得到 1,这意味着一个用户关注了两个名人。
现在我想运行一个 for 循环,输出应该是这样的:
("A", "B", 1)
("A", "C", 1)
("A", "D", 2)
("B", "C", 0)
("B", "D", 0)
("C", "D", 1)
I have been stuck here. Hope someone can help.
【问题讨论】:
标签: python python-3.x pandas for-loop