Numpy的一些常规操作

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()


持续更新…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值