4

通过二进制矩阵,我的意思是矩阵中的每个元素都是 0 或 1,Matrix为此我使用 numpy 中的类。

首先,在 numpy 中是否存在特定类型的矩阵,或者我们只是使用填充了 0 和 1 的矩阵?

其次,考虑到类的维数,创建一个全为 0 的方阵的最快方法是什么?注意:不是我想要的,因为它创建了一个带有浮点数的二维数组Matrixnumpy.zeros((dim, dim))0.

第三,我想经常获取和设置矩阵的任何给定行。对于 get,我可以考虑使用row = my_matrix.A[row_index].tolist(),它将返回给定行的列表表示。对于集合,我似乎可以做一个my_matrix[row_index] = row_listrow_list给定行长度相同的列表。同样,我想知道它们是否是最有效的工作方法。

4

1 回答 1

7

要创建一个元素可以是 0 或 1 的 numpy 数组,请使用以下dtype = 'bool'参数:

arr = np.zeros((dim,dim), dtype = 'bool')

或者,要转换arr为 numpy 矩阵:

arr = np.matrix(arr)

要访问一行:

arr[row_num]

并设置一行:

arr[row_num] = new_row

是最快的方法。

于 2012-07-26T21:36:29.123 回答