当前位置: 代码网 > it编程>前端脚本>Python > NumPy数值计算的项目实现

NumPy数值计算的项目实现

2026年05月08日 Python 我要评论
numpy 是 python 科学计算、数据分析、机器学习 的基础库,核心作用是高效处理数组(矩阵)运算,比原生 python 列表快 10~100倍,是所有数据科学工具的基石。一、核心概念:nump

numpy 是 python 科学计算数据分析机器学习 的基础库,核心作用是高效处理数组(矩阵)运算,比原生 python 列表快 10~100倍,是所有数据科学工具的基石。

一、核心概念:numpy数组(ndarray)

numpy 最核心的对象是 ndarray (多维数组) , 和 python 列表的区别:

1.所有元素类型必须相同

2.支持多维

3.运算速度极快(底层用 c语言实现)

二、基础操作

1.创建数组

我们可以用 python 列表创建数组,当然也可以使用 numpy 提供的各种便捷函数来创建

import numpy as np # 导入 numpy,并约定俗成地使用 np 作为别名

# 从列表创建
arr_from_list = np.array([1, 2, 3, 4, 5])

# 创建全为0的数组
zeros_arr = np.zeros((2, 3)) # 创建一个2行3列的数组

# 创建全为1的数组
ones_arr = np.ones((3, 2))

# 创建指定范围的数组
range_arr = np.arange(0, 10, 2) # 从0到10(不含),步长为2 -> [0, 2, 4, 6, 8]

# 创建随机数数组
random_arr = np.random.rand(2, 2) # 生成[0, 1)之间的均匀分布随机数

2.数组属性

了解数组的属性可以更好的操作数组

arr = np.array([[1, 2, 3], [4, 5, 6]])

print(arr.shape)  # 形状: (2, 3),表示2行3列
print(arr.ndim)   # 维度: 2
print(arr.size)   # 元素总数: 6
print(arr.dtype)  # 数据类型: int64 (或 int32)

3.数组运算

numpy 可以进行强大的简洁化运算

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

# 元素级别的运算
print(a + b)      # [5 7 9]
print(a * b)      # [ 4 10 18]
print(a ** 2)     # [1 4 9]

# 使用数学函数
print(np.sin(a))  # [ 0.84147098  0.90929743  0.14112001]

4.索引与切片

numpy 同 python 列表一样,也可进行索引与切片操作

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

print(arr_2d[0, 1])      # 获取第0行第1列的元素 -> 2
print(arr_2d[:, 1])      # 获取第1列的所有元素 -> [2 5 8]
print(arr_2d[arr_2d > 5]) # 布尔索引,获取所有大于5的元素 -> [6 7 8 9]

5.广播机制

广播是 numpy 的一个核心特性,它允许不同形状的数组之间进行算术运算。简单来说,numpy 会自动将较小的数组“拉伸”以匹配较大数组的形状。

a = np.array([1, 2, 3])
b = np.array([10])

# 标量 b 会被“广播”到与数组 a 相同的形状,然后进行运算
print(a + b) # [11 12 13]

6.numpy 其它常用的函数

data = np.array([1, 2, 3, 4, 5])

print(np.sum(data))    # 求和: 15
print(np.mean(data))   # 求平均值: 3.0
print(np.max(data))    # 求最大值: 5
print(np.std(data))    # 求标准差: 1.414...

到此这篇关于numpy数值计算的项目实现的文章就介绍到这了,更多相关numpy数值计算内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com