Python NumPy库

本文详细介绍Python中的NumPy库,包括其基本概念、数组创建方法、属性及操作等。通过实例展示了如何利用NumPy进行高效的科学计算。
部署运行你感兴趣的模型镜像

Python NumPy库

简介

NumPy是一个功能强大的Python库,名字源于Numerical和Python,主要用于对多维数组执行计算。由于大多机器学习算法本质上是在对向量、矩阵、张量(多维数组)进行操作,学习并熟练使用NumPy对于实践机器学习算法非常重要。

NumPy 数组

NumPy对Python数组(列表list)进行扩展,提供了称为NumPy数组的对象,并提供了大量的函数和计算符,帮助我们快速编写各种类型计算的高性能代码。

创建数组

arr = np.array([1,2,3,4]) # 创建NumPy一维数组
arr = np.array([[1,2], [3,4]])  # 创建NumPy二维数组
arr = np.zeros((4,5))   # 创建返回一个形状为(4,5)的矩阵,元素均为0
arr = np.ones((4,5))   # 创建返回一个形状为(4,5)的矩阵,元素均为1
arr = np.empty((4,5))   # 创建返回空数组,数组的值取决于内存状态
arr = np.full((4,5),3)  # 创建返回形状为(4,5)、元素均为3的数组
arr = np.eye((4,4))     # 创建返回形状为(3,3)的单位矩阵

arr = np.arange(start, stop, step, dtype)   
arr = np.linspace(a, b, number)  # 返回NumPy数组,长度为number,在指定的间隔内返回均匀间隔的数字

arr = np.random.random((3,4))   # 创建返回形状为(3,4)、元素为0~1之间随机数的数组

数组属性

arr.shape   # 返回数组的形状
arr.dtype   # 数据类型
arr.size    # 数组大小,即数字数目
arr.itemsize    # 每一项的所占字节
arr.ndim    # 维度
arr.nbytes  # 整个数组所占字节

数组操作运算

a = np.array([[1,2],[3,4]])
b = np.array([[5,6],[7,8]])

sum = a+b   /np.add(a,b)   # 数组对应元素的和
diff = a-b  /np.subtract(a,b)   # 数组对应元素的差
prod = a*b  /np.multiply(a,b)   # 数组对应元素的积
div = a/b   /np.divide(a,b)     # 数组对应元素的商
a**2        # 数组每一项乘方
a>b         # 数组对应元素进行比较,返回形状相同的bool型数组

a.dot(b)    /np.dot(a,b)    # 矩阵乘法,要满足矩阵乘法要求
a.reshape((1,4))
a.sum()     /np.sum(a, axis=)# 所有元素相加
a.max()     # 最大元素
a.min()     # 最小元素

# where方法
b = np.where(a < 50) 
b = np.transpose(a) /b=a.T  #设置b为数组a的转置
b = np.tile(a,(2,3))      #以形状(2,3)铺陈a

数组索引

# 花式索引
a = np.arange(0, 100, 10)
indices = [1, 5, -1]
b = a[indices]

# bool屏蔽
import matplotlib.pyplot as plt
a = np.linspace(0, 2 * np.pi, 50)
b = np.sin(a)
plt.plot(a,b)
mask = b >= 0
plt.plot(a[mask], b[mask], 'bo')
mask = (b >= 0) & (a <= np.pi / 2)
plt.plot(a[mask], b[mask], 'go')
plt.show()

未完待续。。。

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

Python3.10

Python3.10

Conda
Python

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值