1.不显示省略号
np.set_printoptions(threshold=np.inf)
2.每行显示更多内容
在输出array时,一行能显示的更长
np.set_printoptions(suppress=True, linewidth=200)
其中的200可以调,这样就可以使pycharm的控制台显示的更宽了。
3.删除array的行或列
data = np.delete(arr=data, obj=[1,3,5], axis=0)
axis=0表示按行删,obj是要删除的行或列,如果只删单独一行(列)就只用一个整数就不用列表了。
4.取上三角、下三角、对角矩阵
比如 A 矩阵是一个完整矩阵,则
np.triu(A)
是取它的上三角矩阵,np.tril(A)
是取它的下三角矩阵
上面都是包含对角元素的,如果想不包含对角元素可添加一个参数np.tril(A, -1)
,如果取-2 则次对角线也不会取到
当然如果想取上三角的话,上面的-1 -2就需要是1 2的正数
如果想将上下三角的对角元素设为1,可以这样
row, col = np.diag_indices_from(a) #先取对角元素的索引
u[row, col] = 1.0 # 然后设为1
取对角元素np.diag(A)
,生成对角矩阵 np.diag(np.diag(A))
5. 统计array中某个范围值的数量
np.count_nonzero()
例如统计出array中小于等于1的数:np.count_nonzero(data<=1)
它返回一个具体数字,和len(np.where(data<=1)[0])
的结果一致,但比np.where要更快
比如要统计一个张量的稀疏程度(即0元素的数量):np.count_nonzero(x==0)/x.size
要找出符合要求元素的具体位置,就可以用np.where()
持续更新…