通过二进制矩阵,我的意思是矩阵中的每个元素都是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
是与给定行长度相同的列表。我再次想知道它们是否是最有效的工作方法。
答案 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
是最快捷的方式。