从CSV表创建User-PageView矩阵

时间:2017-08-28 06:55:28

标签: python pandas csv numpy machine-learning

我有一个场景,我需要创建Web应用程序的用户与页面视图矩阵。

数据格式为:

Page Name       UserName      Count of Page Views by The User
Home            David           12
Home            Minerva         56
Home            Michael         1112
Buy             David           2
Buy             Mike            12

我想创建一个User vs Page View矩阵,矩阵中的每个条目都是Count。

我正在使用Python堆栈,有什么办法可以自动创建矩阵(numpy)吗?

我想逐案解析将非常繁琐,这是一般用例,所以必须有一些功能,但我找不到它。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您似乎需要pivotunstack

df1 = df.pivot(index='Page Name',columns='UserName',values='Count of Page Views by The User')
df1 = df.set_index(['Page Name','UserName'])['Count of Page Views by The User'].unstack()
print (df1)
UserName   David  Michael  Mike  Minerva
Page Name                               
Buy          2.0      NaN  12.0      NaN
Home        12.0   1112.0   NaN     56.0