【问题标题】:What can be a quicker way to generate a matrix which has at least one element non zero in a row?有什么方法可以更快地生成一个矩阵,该矩阵在一行中至少有一个非零元素?
【发布时间】:2018-08-18 15:59:18
【问题描述】:

我试图提出一个大小为 10000*10000 的大矩阵,其数据类型应为浮点数,并且其行上的至少一个元素不应为零。

我正在使用:

import numpy as np
list_going_in=np.random.rand(10000,10000)

但是需要一秒钟以上的时间才能得出这些值,这使得它对我的应用程序毫无用处。

我也尝试过使用 np.empty()

但这会将列表的所有元素都返回为零,因此在我的情况下不能使用

有人可以在一秒钟内提出可能的方法来做到这一点。如果它是一个 numpy 数组,我会更喜欢

【问题讨论】:

  • np.full((10000,10000), 1, dtype=float) 怎么样?
  • np.empty((10000,10000)) 或精度较低的 dtype 需要多少时间?

标签: python numpy matrix


【解决方案1】:

查找随机数是一项昂贵的操作。所以只需创建一个全为矩阵的矩阵

arr = np.ones((10000, 10000), dtype=float)

【讨论】:

    【解决方案2】:

    您也可以使用以下代码:

    np.full(1000,1000, dtype = float) # or any dimensions you want it will be quicker
    

    【讨论】:

    • 谢谢你,这实际上是我所做的更好,你能投票给我的问题吗???
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-02
    • 2021-10-30
    • 1970-01-01
    • 1970-01-01
    • 2012-01-09
    • 1970-01-01
    相关资源
    最近更新 更多