numpy中二元矩阵的有效处理

时间:2012-07-26 21:11:12

标签: python matrix numpy

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

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

第二,在<{1}}类的维度下,创建方形矩阵0到最快方法是什么?注意:Matrix不是我想要的,因为它创建了一个带浮动numpy.zeros((dim, dim))的二维数组

第三,我想经常得到并设置矩阵的任何给定行。对于get,我可以考虑使用0.,它将返回给定行的列表表示。对于set,似乎我可以row = my_matrix.A[row_index].tolist()my_matrix[row_index] = row_list是与给定行长度相同的列表。我再次想知道它们是否是最有效的工作方法。

1 个答案:

答案 0 :(得分:7)

要制作一个numpy数组,其元素可以是0或1,请使用dtype = 'bool'参数:

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

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

arr = np.matrix(arr)

要访问一行:

arr[row_num]

并设置一行:

arr[row_num] = new_row

是最快捷的方式。