从csv文件数据创建稀疏矩阵

时间:2018-02-23 16:19:19

标签: python pandas numpy scipy sparse-matrix

csv文件中的数据格式为(“user_id”,“group_id”,“group_value”)。 “group_id”的范围是0到100。

对于给定的user_id,特定group_id的group_value可能不可用。

我想创建上述数据的稀疏矩阵表示。 (“group_id_0”,“group_id_1”,...,“group_id_100”)

在Python中实现这一目标的最佳方法是什么?

修改:数据太大而无法迭代。

1 个答案:

答案 0 :(得分:0)

你可以用熊猫做到这一点。

更新08.08.2018:

正如CanKavaklıoğlu所注意到的那样,{Pandas版本0.23.0已弃用as_matrix()。已更改为values

import pandas as pd

df = pd.read_csv('csv_file.csv', names=['user_id', 'group_id', 'group_value'])
df = df.pivot(index='user_id', columns='group_id', values='group_value')
mat = df.values