python中有多少用户具有相同的字符串值

python中有多少用户具有相同的字符串值,python,pandas,Python,Pandas,我想知道有多少用户具有相同的字符串值 数据是python dataframe类型的,值的顺序无关紧要,只要x-y与y-x相同,就应该进行计数 user_id value 1 x 1 y 2 x 2 y 2 z 3 x 3 z Combination #of user x-y 2 x-z

我想知道有多少用户具有相同的字符串值 数据是python dataframe类型的,值的顺序无关紧要,只要x-y与y-x相同,就应该进行计数

user_id    value
1            x
1            y   
2            x
2            y
2            z   
3            x
3            z

Combination   #of user
x-y             2
x-z             2
y-z             1

按组创建组合,然后按链展平值。按计数器从“iterable”和“count”:


请将你已经尝试过的内容和发现的错误张贴出来,以便人们能够帮助你。你可能应该重新措辞这个问题,使其更具可读性-这是非常不可理解的!非常感谢。
from  itertools import combinations, chain
from collections import Counter

s = df.groupby('user_id')['value'].apply(lambda x: list(map( '-'.join, combinations(x, 2))))
#if necessary sorted combinations
#s = (df.groupby('user_id')['value']
#       .apply(lambda x: ['-'.join(sorted(y)) for y in combinations(x, 2)]))

d = Counter(chain.from_iterable(s))

df = pd.DataFrame({'Combination': list(d.keys()),
                   'user':list(d.values())})
print (df)
  Combination  user
0         x-y     2
1         x-z     2
2         y-z     1