NumPy初体验

NumPy是一个用于Python的快速数学库,特别擅长于数组计算,提供了N维数组对象ndarray,支持广播功能函数,整合C/C++/Fortran代码,以及线性代数、傅里叶变换和随机数生成等功能。本文详细介绍NumPy数组的属性,包括秩、形状、大小、数据类型和元素大小,并介绍了如何创建数组以及广播机制。
Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

NumPy

NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:

  • 一个强大的N维数组对象ndarray
  • 广播功能函数
  • 整合C/C++/Fortran代码的工具
  • 线性代数、傅里叶变换、随机数生成等功能

数组属性

NumPy 数组的维数称为秩(rank),秩就是轴的数量,即数组的维度,一维数组的秩为 1,二维数组的秩为 2,以此类推。在 NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(dimensions)。

属性说明
ndarray.ndim秩,即维度的数量
ndarray.shape数组的维度,对于矩阵,n行m列
ndarray.size数组元素的总个数,相当于shape中n*m的值
ndarray.dtypendarray对象的元素类型
ndarray.itemsizendarray对象中每个元素的大小,以字节为单位

创建数组

numpy.empty(shape,dtype= float,order = 'C')

参数描述
shape数组形状
dtype数组类型,可选
order有“C”和“F”两个选项,分别代表行优先和列优先

numpy.arange(start,stop,step,dtype)

参数描述
start起始值,默认为0
stop终止值(不包含)
step步长,默认为1
dtype返回ndarray的数据类型,如果没有提供,则会使用输入数据的类型

广播

广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行。

如果两个数组 a 和 b 形状相同,即满足 a.shape == b.shape,那么 a*b 的结果就是 a 与 b 数组对应位相乘。这要求维数相同,且各维度的长度相同。当运算中的 2 个数组的形状不同时,numpy 将自动触发广播机制。如:

`

A = np.array([[1,2],[3,4]])
B = np.array([10,20])
A * B
array([[10, 40],
[30, 80]])

`
在这里插入图片描述

广播的规则:

  • 让所有输入数组都向其中形状最长的数组看齐,形状中不足的部分都通过在前面加1补齐
  • 输出数组的形状是输入数组姓朱难过的各个维度上的最大值
  • 如果输入数组的某个维度和输出数组的对应维度的长度相同或者其长度为1时,这个数组能够用来计算,否则出错
    个维度上的最大值
  • 如果输入数组的某个维度和输出数组的对应维度的长度相同或者其长度为1时,这个数组能够用来计算,否则出错
  • 当输入数组的某个维度的长度为1时,沿着次维度运算时都用此维度上的第一组值

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值