如何使用Pandas(Python)报告用户项交互

时间:2013-07-13 01:51:33

标签: python pandas

我有一些服务器日志数据,显示用户和项目交互。我不知道用户查看某个项目的次数,只知道它发生了什么。 Pandas有没有一种方法可以同时聚合两列来实现这一目的而不需要循环?

以下是一个例子:

import pandas as pd
a = pd.DataFrame([['A', 2], ['A', 2], ['A', 3], ['B', 1], ['B', 1], ['B', 1], ['B', 3]], columns=['UserID', 'ItemID'])

print a
# Desired output:
print pd.DataFrame([['A', 2], ['A', 3], ['B', 1], ['B', 3]], columns=['UserID', 'ItemID'])

INPUT:

    UserID  ItemID
0      A       2
1      A       2
2      A       3
3      B       1
4      B       1
5      B       1
6      B       3

期望的输出:

  UserID  ItemID
0      A       2
1      A       3
2      B       1
3      B       3

1 个答案:

答案 0 :(得分:3)

怎么样:

>>> a
  UserID  ItemID
0      A       2
1      A       2
2      A       3
3      B       1
4      B       1
5      B       1
6      B       3
>>> a.drop_duplicates()
  UserID  ItemID
0      A       2
2      A       3
3      B       1
6      B       3
>>> a.drop_duplicates().reset_index(drop=True)
  UserID  ItemID
0      A       2
1      A       3
2      B       1
3      B       3