NumPy数值计算的项目实现

 更新时间:2026年05月08日 09:10:16   作者:一只困顿的鹅  
本文主要介绍了NumPy数值计算的项目实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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数值计算内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Django命名URL和反向解析URL实现解析

    Django命名URL和反向解析URL实现解析

    这篇文章主要介绍了Django命名URL和反向解析URL实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python3.10.4激活venv环境失败解决方法

    Python3.10.4激活venv环境失败解决方法

    这篇文章主要介绍了Python3.10.4激活venv环境失败解决方法的相关资料,需要的朋友可以参考下
    2023-01-01
  • 创建SparkSession和sparkSQL的详细过程

    创建SparkSession和sparkSQL的详细过程

    SparkSession 是 Spark SQL 的入口,Builder 是 SparkSession 的构造器。 通过 Builder, 可以添加各种配置,并通过 stop 函数来停止 SparkSession,本文给大家分享创建SparkSession和sparkSQL的详细过程,一起看看吧
    2021-08-08
  • python项目中requirements.txt的用法实例教程

    python项目中requirements.txt的用法实例教程

    Python项目中必须包含一个requirements.txt文件,用于记录所有依赖包及其精确的版本号,以便新环境部署,下面这篇文章主要给大家介绍了关于python项目中requirements.txt用法的相关资料,需要的朋友可以参考下
    2022-06-06
  • Falsk 与 Django 过滤器的使用与区别详解

    Falsk 与 Django 过滤器的使用与区别详解

    这篇文章主要介绍了Falsk 与 Django 过滤器的使用与区别详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • numpy.insert()的具体使用方法

    numpy.insert()的具体使用方法

    本文主要介绍了numpy.insert()的具体使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • python求素数示例分享

    python求素数示例分享

    这篇文章主要介绍了python求素数示例,打印出素数列表,需要的朋友可以参考下
    2014-02-02
  • Python的collections模块中的OrderedDict有序字典

    Python的collections模块中的OrderedDict有序字典

    字典是无序的,但是collections的OrderedDict类为我们提供了一个有序的字典结构,名副其实的Ordered+Dict,下面通过两个例子来简单了解下Python的collections模块中的OrderedDict有序字典:
    2016-07-07
  • Python开发教程之os.path的常用操作总结

    Python开发教程之os.path的常用操作总结

    这篇文章主要介绍了Python开发教程之os.path的常用操作,os模块最常用的功能之一就是文件和目录操作,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-05-05
  • pandas中的Timestamp只保留日期不显示时间

    pandas中的Timestamp只保留日期不显示时间

    这篇文章主要介绍了pandas中的Timestamp只保留日期不显示时间,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07

最新评论