我有两个熊猫数据帧df1和df2,以及一段生成我稀疏矩阵的代码:
from scipy import sparse
sparse_matrix = sparse.coo_matrix((df['r'].astype('category').cat.codes, \
(df['u'].astype('category').cat.codes, \
df['i'].astype('category').cat.codes)))
其中df['r']
是整数,而df['u']
和df['i']
是字符串,这就是为什么我拥有
astype('category').cat.codes
数据帧df1
和df2
有两个很大的组合(我有内存错误)。
想法是分别生成sparse_matrix_df1
和sparse_matrix_df2
,然后将其组合。问题是df['u']
和df['i']
有时在df1和df2中具有相同的值,在这种情况下,应将df['r']
求和,所以我不能简单地合并sparse_matrix_df1
和{{ 1}}。
如何获取sparse_matrix并保持正确的密钥?可以这么说,也许可以考虑将问题添加到批处理样式的sparse-matrix中。