科学计算库之Numpy

简介

Numpy(Numerical Python)是一个开源的Python科学计算库,用于快速处理任意维度的数组。
Numpy支持常见的数组和矩阵操作。对于同样的数值计算任务,使用Numpy比直接使用Python要简洁的多。
Numpy使用ndarray对象来处理多维数组,该对象是一个快速而灵活的大数据容器。

ndarray介绍

优势

  • 1.内存块风格
  • 2.ndarray支持并行化运算(向量化运算)
  • 3.Numpy底层使用C语言编写,内部解除了GIL
ndarray的属性
  • ndarray.shape 数组维度的元组[***]
  • ndarray.ndim 数组维数
  • ndarray.size 数组中的元素数量
  • ndarray.itemsize 一个数组元素的长度(字节)
  • ndarray.dtype 数组元素的类型[*]
ndarray的形状
  • 0维 ()
  • 1维 (*,)
  • 2维 (,)

基本操作

生成数组的方法
  • 生成0和1的数组

    • np.ones([,])
    • np.zeros([,])
  • 从现有数组生成

    • np.array() 深拷贝
    • np.asarray() 浅拷贝
    • np.copy() 深拷贝
  • 生成固定范围的数组

    • np.linspace(start, stop, num)
    • np.arange(start, stop, step)
  • 生成随机数组

    • 生成随机数组
      • np.random.uniform(low, high, size)
    • 正态分布[****]
      • np.random.normal(loc, scale, size)
形状修改
  • ndarray.T
  • ndarray.reshape([]) 产生新的对象
  • ndarray.resize([]) 对自身进行改变
数组去重
  • np.unique(temp)

运算

逻辑运算
  • 例:test_score > 60
通用判断函数
  • np.all() -- 所有满足要求,返回true
  • np.any() -- 有一个满足要求,返回true
三元运算符
  • np.where(temp>0,1,0)
统计运算
  • np.min()
  • np.max()
  • np.median()
  • np.mean()
  • np.std()
  • np.var()
  • np.argmax() -- 返回最大值所在的索引
  • np.argmin() -- 返回最小值所在的索引
数组间运算
  • 数组与数的运算
arr = np.array([[1, 2, 3, 2, 1, 4], [5, 6, 1, 2, 3, 1]])
arr + 1
arr / 2

# 可以对比python列表的运算,看出区别
a = [1, 2, 3, 4, 5]
a * 3
  • 数组与数组的运算 --广播机制
    • 维度相等
    • shape(其中相对应的一个地方为1)
arr1 = np.array([[0],[1],[2],[3]])
arr1.shape
# (4, 1)

arr2 = np.array([1,2,3])
arr2.shape
# (3,)

arr1+arr2
# 结果是:
array([[1, 2, 3],
       [2, 3, 4],
       [3, 4, 5],
       [4, 5, 6]])
矩阵运算
  • (m行, n列)*(n行, l列) = (m行, l列)
  • np.matmul()矩阵和矩阵相乘
  • np.dot()也可以矩阵和标量相乘
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容