NumPy------数值计算

  1. NumPy 是 Python 中一个重要的库,专门用于数值计算和大型数组与矩阵的支持。它提供了高性能的多维数组对象以及对数组进行操作的工具,包括数学函数、逻辑运算、数组排序、选择、输入输出等功能。

    pip install numpy

javascript 复制代码
 import numpy as np
  1. 创建 NumPy 数组
ini 复制代码
list_data = [1, 2, 3, 4, 5]
array1 = np.array(list_data)
print(array1)
lua 复制代码
matrix_data = [[1, 2, 3], [4, 5, 6]]
array2 = np.array(matrix_data)
print(array2)
ini 复制代码
创建全零数组
zeros_array = np.zeros((3, 4)) # 创建3行4列的零数组
print(zeros_array)
创建全一数组
ones_array = np.ones((2, 3)) # 创建2行3列的全一数组
print(ones_array)
创建单位矩阵
identity_matrix = np.eye(3) # 创建3x3的单位矩阵
print(identity_matrix)
创建范围数组
range_array = np.arange(0, 10, 2) # 从0到10,步长为2
print(range_array)
创建随机数组
random_array = np.random.rand(3, 2) # 创建3行2列的随机数组
print(random_array)
  1. 数组属性和操作
bash 复制代码
print("数组形状:", array2.shape)  # 数组的维度
print("数组大小:", array2.size)   # 数组的总元素数量
print("数组数据类型:", array2.dtype)  # 数组的数据类型
ini 复制代码
# 数组运算
array3 = np.array([1, 2, 3])
array4 = np.array([4, 5, 6])
sum_array = array3 + array4  # 元素相加
print("相加:", sum_array)

# 逐元素乘法
product_array = array3 * array4
print("逐元素乘法:", product_array)

# 数组的统计方法
mean_value = np.mean(array3)  # 均值
max_value = np.max(array3)  # 最大值
min_value = np.min(array3)  # 最小值
print("均值:", mean_value, "最大值:", max_value, "最小值:", min_value)
  1. 数组操作
bash 复制代码
# 改变数组形状
reshaped_array = array2.reshape(3, 2)  # 将2x3数组重塑为3x2
print("重新塑形:", reshaped_array)
python 复制代码
# 沿特定轴的汇总
sum_along_axis0 = np.sum(array2, axis=0)  # 沿列的求和
print("沿列的求和:", sum_along_axis0)

sum_along_axis1 = np.sum(array2, axis=1)  # 沿行的求和
print("沿行的求和:", sum_along_axis1)
  1. 示例代码:下面是一个简单的示例,结合上述的一些功能演示如何使用 NumPy
python 复制代码
import numpy as np

# 创建 2D 数组
data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

print("原始数组:")
print(data)

# 计算每列的均值
column_mean = np.mean(data, axis=0)
print("每列的均值:", column_mean)

# 计算每行的和
row_sum = np.sum(data, axis=1)
print("每行的和:", row_sum)

# 转置数组
transposed_data = data.T
print("转置后的数组:")
print(transposed_data)

# 重新塑形为 1x9 数组
reshaped_data = data.reshape(1, 9)
print("重新塑形后的数组:")
print(reshaped_data)
相关推荐
FreakStudio4 小时前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户0332126663675 小时前
使用 Python 从零创建 Word 文档
python
Csvn10 小时前
Python 两大经典坑点 —— 可变默认参数 & 闭包延迟绑定
后端·python
曲幽11 小时前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
用户5569188175312 小时前
#从脚本到独立程序:Python + Playwright 批量抓取的完整踩坑记录
python·自动化运维
兵慌码乱1 天前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
luckdewei1 天前
FastAPI 资产管理系统实战:复杂 ORM 关联、Alembic 迁移与 N+1 查询优化
python
aqi001 天前
15天学会AI应用开发(八)使用向量数据库实现RAG功能
人工智能·python·大模型·ai编程·ai应用
Csvn2 天前
`functools.lru_cache` —— 一行代码搞定缓存加速
后端·python