繁体   English   中英

将sFrame转换为scipy.sparse csr_matrix

[英]sFrame into scipy.sparse csr_matrix

我有一个像这样的框架

x = sf.SFrame({'users': [{'123': 1.0, '122': 5},
{'134': 3.0, '123': 10}]})

我想在不调用graphlab create的情况下转换为scipy.sparse csr_matrix,但只能使用sframe和Python。

怎么做?

假设您希望行号成为输出稀疏矩阵中的行索引,唯一棘手的步骤是使用SFrame.stack从那里您应该能够直接构造一个csr_matrix

import sframe as sf
from scipy.sparse import csr_matrix

x = sf.SFrame({'users': [{'123': 1.0, '122': 5},
                         {'134': 3.0, '123': 10}]})
x = x.add_row_number('row_id')
x = x.stack('users')
A = csr_matrix((x['X3'], (x['row_id'], x['X2'])), 
               shape=(2, 135))

我还在这里对矩阵的维进行硬编码,但这可能是您希望通过编程来解决的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM