【发布时间】:2019-01-08 07:40:52
【问题描述】:
我有一个包含数百万行的数据框,我想将所有数据保存在 scripy 稀疏矩阵中以防止出现内存问题。
id value count
002 groupB 1
001 groupB 3
001 groupC 1
003 groupC 2
002 groupA 1
004 groupZ 1
...
df.groupby(['id', 'value'])['count'].sum()
id value
1 groupB 3
groupC 1
2 groupA 1
groupB 1
3 groupC 2
4 groupZ 1
Name: count, dtype: int64
我正在尝试将 groupby sum 的结果用于稀疏矩阵。我在columns_names 数组中预定义的标题/列名称。我查找了 csc_matrix 和 csr_matrix 但不知道如何将 groupby 结果转换为稀疏。
我的最终目标是拥有一个这样的数据框,其中包含预定义的列名(不一定按字母顺序):
id groupA groupB groupC groupD groupE .. groupZ groupAA ...
001 0 3 1 0 0 0 0
002 1 1 0 0 0 0 0
003 0 0 2 0 0 0 0
004 0 0 0 0 0 1 0
...
【问题讨论】:
标签: python sparse-matrix pandas-groupby