NumPy,全称Numerical Python,是一个开源的Python库,它为Python提供了强大的多维数组对象和用于处理这些数组的函数。
NumPy的核心是ndarray,它是一个高效的多维数组容器,用于存储和处理大规模的数据。
NumPy还提供了许多数学函数,用于数组之间的操作,以及用于线性代数、傅立叶变换和随机数生成等功能。
代码
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
# 数组加法
result = arr1 + arr2
print(result) # 输出 [5 7 9]
# 数组乘法
result = arr1 * arr2
print(result) # 输出 [4 10 18]
# 计算平方根
arr1 = np.array([1, 4, 9])
print(np.sqrt(arr1)) # 输出 [1. 2. 3.]
# 索引
print('# 索引')
arr1 = np.array([1, 2, 3, 4, 5])
print(arr1[0]) # 输出 1
print(arr1[-1]) # 输出 5
# 布尔索引
print('# 布尔索引')
arr1 = np.array([1, 2, 3, 4, 5])
print(arr1[arr1 > 2]) # 输出 [3 4 5]
print(arr1[arr1 % 2 == 1]) # 输出 [1 3 5]
# 使用切片获取子集
print('# 使用切片获取子集')
arr1 = np.array([1, 2, 3, 4, 5])
print(arr1[1:3]) # 获取子集,输出 [2 3]
print()
# 获取形状
arr1 = np.array([[1, 2, 3], [4, 5, 6]])
print(arr1.shape) # 输出 (2, 3) :表示 2 行 3 列
# 重塑
print('# 重塑')
arr1 = np.array([1, 2, 3, 4, 5, 6])
print(arr1.reshape(2, 3)) # 重塑为 2 行 3 列
# 聚合函数
print('# 聚合函数')
arr1 = np.array([1, 2, 3, 4, 5])
print(arr1.sum()) # 输出 15
print(arr1.mean()) # 输出 3.0,平均值
print(arr1.max()) # 输出 5
print(arr1.min()) # 输出 1
# 广播
arr1 = np.array([1, 2, 3])
arr2 = np.array([10]) # 10 会被广播为 [10 10 10]
print(arr1 + arr2) # 输出 [11 12 13]
# 随机数生成
print('# 随机数生成')
print(np.random.rand(2, 3)) # 生成 2 行 3 列的随机数
# 线性代数
print('# 线性代数')
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])
print(np.dot(arr1, arr2)) # 输出 [[19 22] [43 50]],矩阵相乘
print()
# 保存到文件
print('# 保存到文件')
arr1 = np.array([1, 2, 3, 4, 5])
np.save('arr1.npy', arr1) # 保存到文件 arr1.npy (当前目录下)
# 从文件读取
print('# 从文件读取')
arr2 = np.load('arr1.npy') # 从文件 arr1.npy 读取数据
print(arr2) # 输出 [1 2 3 4 5]
运行结果
[5 7 9]
[ 4 10 18]
[1. 2. 3.]
# 索引
1
5
# 布尔索引
[3 4 5]
[1 3 5]
# 使用切片获取子集
[2 3]
(2, 3)
# 重塑
[[1 2 3]
[4 5 6]]
# 聚合函数
15
3.0
5
1
[11 12 13]
# 随机数生成
[[0.35610013 0.27385549 0.28567935]
[0.9069464 0.22868908 0.90479727]]
# 线性代数
[[19 22]
[43 50]]
# 保存到文件
# 从文件读取
[1 2 3 4 5]
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏