Numpy Cookbook by Eric

1 前言

numpy是一个很好的向量、矩阵和张量的运算库,要好好学习~

2 Numpy数据类型

整型:int
浮点数:float

# 类型转换
x.astype(np.float32)

3 NumPy数组

# 创建np.array数组
a = np.array([1, 2, 3, 4, 5, 6])

# 获取np.array的大小
array.shape
# 返回tuple元组

# 获得元素个数
array.size
# 返回int

4 基础运算

取整运算

函数功能
np.ceil()向上取整
np.floor()向下取整
np.rint()最近邻取整

np.rint()当x为恰好位于两个整数之间即: x = k + 0.5 , k ∈ Z x=k+0.5, k\in\mathbb{Z} x=k+0.5,kZ,NumPy会取整到最接近的偶数值。

保留n位小数

np.around(x, decimals) # decimals表示需要保留的位数

5 Np.array索引

# 同时索引多个元素
x1,x3 = a[[1,3]]

查找指定值的索引: np.argwhere()

import numpy as np
x = np.arange(6).reshape(2,3)
x
>>>
array([[0, 1, 2],
       [3, 4, 5]])

# x最大值的索引
[x == x.max()]

# 获得索引序列的数组
np.argwhere(x>1)
>>>
array([[0, 2],
       [1, 0],
       [1, 1],
       [1, 2]])

# 获得每个维度上索引的数组
(x>1).nonzero()
>>>
(array([0, 1, 1, 1]), array([2, 0, 1, 2]))
# 获得的索引数组可以直接作为对应维度上ndarray的索引

6 改变np.array的形状

改变np.array的形状可以使用**resize()reshape()**函数;
(关于resize()reshape()函数的不同,可以参考这篇博文
《python ,numpy 模块中 resize 和 reshape的区别》

7 获得np.dtype的数值范围

获得浮点数的数值范围,

np.finfo(np.float)

其中,np.finfo的解释如下,
在这里插入图片描述
——查看np.finfo官方文档 — numpy.finfo — NumPy

8 numpy中的原位运算

我之前在写numpy代码时,有时候会出错,原因就是原位运算没有弄清楚,这里记录一下;

±×/ — 四则运算不是inplace

注意,numpy中的四则运算不是原位运算,可以参考下面的测试代码:

x = np.arange(10)
print(x)
y = x
y = y - 10
print(y)
print(x)

在这里插入图片描述
经过四则运算后,y变成了一个新的array数组,跟x没有什么关系了。

9 Numpy绘图

9.1 Numpy.ogrid: return an Open multi-dimensional “meshGrid”

函数np.ogrid可以获得整数网格的坐标
示例代码:

>>> np.ogrid[0:5,0:5]
[array([[0],
        [1],
        [2],
        [3],
        [4]]), array([[0, 1, 2, 3, 4]])]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值