汇总熊猫数据框

时间:2017-07-08 08:54:02

标签: python pandas dataframe

我有以下熊猫数据框

enter image description here

现在我想要计算[用户1] [用户2]和[用户2] [用户1]的计数。例如,[用户1 = 1] [用户2 = 92]的计数值是count = 1而[user 1 = 92] [user 2 = 1]是count = 2,所以我希望最终输出为用户1 = 1,用户2 = 92,计数= 3.此外,每个[用户1] [用户2]可能没有[用户2] [用户1]。例如,对于[用户1 = 29] [用户2 = 56]计数值为3但没有[用户1 = 56] [用户2 = 29],因此最终输出将是用户1 = 29,用户2 = 56且计数= 3.

所以最终输出应该是这样的

enter image description here

有人可以指导我怎么做吗?

1 个答案:

答案 0 :(得分:1)

对已排序的元组进行解决方案分组:

df['users'] = list(zip(df.user1,df.user2))
df['users'] = df.users.apply(lambda t:tuple(sorted(t)))
counts = df.groupby('users', as_index=False)['count'].sum()
counts[['user1','user2']] = counts.users.apply(pd.Series)
counts = counts[['user1','user2','count']] # Select and reorder columns