当前位置: 首页 > 面试题库 >

直接将Pandas数据框转换为稀疏Numpy矩阵

逑俊楚
2023-03-14
问题内容

我正在从Pandas数据框创建矩阵,如下所示:

dense_matrix = np.array(df.as_matrix(columns = None), dtype=bool).astype(np.int)

然后使用以下公式生成稀疏矩阵:

sparse_matrix = scipy.sparse.csr_matrix(dense_matrix)

从df直线到稀疏矩阵有什么办法吗?

提前致谢。


问题答案:

df.values是一个numpy数组,以这种方式访问​​值总是比快np.array

scipy.sparse.csr_matrix(df.values)

您可能需要先进行移调,例如df.values.T。在DataFrames中,列为轴0。



 类似资料:
  • 问题内容: 我对知道如何将熊猫数据框转换为NumPy数组感兴趣。 数据框: 给 我想将其转换为NumPy数组,如下所示: 我怎样才能做到这一点? 作为奖励,是否可以像这样保留dtype? 或类似的? 问题答案: 要将pandas数据框(df)转换为numpy ndarray,请使用以下代码:

  • 我有一个带有两个变量X和Y的pandas数据帧(大约1M行),并且希望使用scipy,sparse创建一个稀疏矩阵。输出应该是一个n x m矩阵,如果x=x和Y=Y,则其条目为1。 下面是数据结构的示例 所需的输出为 提前致谢

  • 问题内容: 使用SciPy / Numpy在Python中连接稀疏矩阵的最有效方法是什么? 在这里,我使用以下内容: 我想在回归中使用两个预测变量,但是当前格式显然不是我想要的格式。是否有可能获得以下信息: 它太大,无法转换为深格式。 问题答案: 您可以使用来连接行数相同的稀疏矩阵(水平串联): 同样,您可以用于将具有相同列数的稀疏矩阵进行串联(垂直串联)。 使用或将创建带有两个稀疏矩阵对象的数组

  • 问题内容: 我在用PyTables存储numpy csr_matrix时遇到问题。我收到此错误: 我的代码: 有任何想法吗? 谢谢 问题答案: 一个CSR矩阵可以从它的完全重建,和属性。这些只是常规的numpy数组,因此将它们作为3个单独的数组存储在pytables中,然后将它们传递回的构造函数应该没有问题。请参阅scipy文档。 编辑: Pietro的答案已指出该成员也应存储

  • 在使用numpy的python中,假设我有两个矩阵: 稀疏矩阵 密集的x*y矩阵 现在我想做,它将返回一个密集的矩阵。 但是,我只关心中非零的单元格,这意味着如果我这样做了,对我的应用程序不会有任何影响 <代码>S\u=S*S\u 显然,这将是对操作的浪费,因为我想把在

  • 稀疏矩阵(Sparse Matrix) 注:压缩存储的矩阵可以分为特殊矩阵和稀疏矩阵。对于那些具有相同元素或零元素在矩阵中分布具有一定规律的矩阵,被称之为特殊矩阵。对于那些零元素数据远远多于非零元素数目,并且非零元素的分布没有规律的矩阵称之为稀疏矩阵。 1. 稀疏矩阵的概念 在矩阵中,若数值为0的元素数目远远多于非0元素的数目时,则称该矩阵为稀疏矩阵。与之相反,若非0元素数目占大多数时,则称该矩阵