当前位置: 首页 > backend >正文

NumPy 安装使用教程

一、NumPy 简介

NumPy(Numerical Python)是 Python 中用于进行科学计算的基础库之一。它提供了高效的多维数组对象 ndarray,以及用于数组操作、线性代数、傅里叶变换、随机数等丰富的函数。


二、安装 NumPy

2.1 使用 pip 安装(推荐)

pip install numpy

2.2 使用 Anaconda 安装(科学计算推荐)

conda install numpy

2.3 验证安装

import numpy as np
print(np.__version__)

三、NumPy 基础用法

3.1 创建数组

import numpy as npa = np.array([1, 2, 3])
b = np.array([[1, 2], [3, 4]])

3.2 数组属性

print(a.shape)      # (3,)
print(b.shape)      # (2, 2)
print(a.dtype)      # int64(或系统对应类型)

四、常用函数和操作

4.1 数组初始化

np.zeros((2, 3))     # 全 0 数组
np.ones((2, 3))      # 全 1 数组
np.eye(3)            # 单位矩阵
np.arange(0, 10, 2)  # 等差序列
np.linspace(0, 1, 5) # 等间隔序列

4.2 数组运算

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])print(a + b)
print(a * b)
print(np.dot(a, b))  # 点积

五、索引与切片

a = np.array([[1, 2, 3], [4, 5, 6]])print(a[0, 1])   # 访问第 0 行第 1 列
print(a[:, 1])   # 所有行的第 1 列
print(a[1, :])   # 第 1 行所有列

六、广播机制

广播允许不同形状的数组进行运算:

a = np.array([[1], [2], [3]])
b = np.array([10, 20, 30])
print(a + b)

七、常用数学函数

np.sum(a)
np.mean(a)
np.max(a)
np.min(a)
np.std(a)

八、线性代数操作

from numpy.linalg import inv, eiga = np.array([[1, 2], [3, 4]])
print(inv(a))       # 求逆矩阵
print(eig(a))       # 求特征值和特征向量

九、随机模块

np.random.rand(2, 3)       # 均匀分布
np.random.randn(2, 3)      # 正态分布
np.random.randint(0, 10)   # 指定范围整数
np.random.seed(42)         # 设置随机种子

十、常见问题

Q1: 安装报错 No module named 'numpy'

请确认是否在正确的 Python 环境中运行,或者重新执行 pip install numpy

Q2: 为什么 NumPy 运算比普通 Python 列表快?

NumPy 使用 C 语言实现底层数组结构,运算为向量化操作,性能优于 Python 原生循环。


十一、学习资源推荐

  • NumPy 官方文档
  • 菜鸟教程 NumPy 教程
  • 廖雪峰 NumPy 教程
  • 《利用 Python 进行数据分析》作者:Wes McKinney

本文由“小奇Java面试”原创发布,转载请注明出处。

可以搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

在这里插入图片描述

http://www.xdnf.cn/news/14836.html

相关文章:

  • Qt的前端和后端过于耦合(0/7)
  • Apache POI 详解 - Java 操作 Excel/Word/PPT
  • 【网工|知识升华版|实验】5 网络质量探测
  • 【大模型学习】项目练习:文档对话助手
  • Linux开发工具——gcc/g++
  • MacOS 安装brew 国内源【超简洁步骤】
  • SpringBoot 自动配置原理
  • 优雅草蜻蜓T语音会议系统私有化部署方案与RTC技术深度解析-优雅草卓伊凡|clam
  • 金融安全生命线:用AWS EventBridge和CloudTrail构建主动式入侵检测系统
  • 跨平台开发的抉择:Flutter vs 原生安卓(Kotlin)的优劣对比与选型建议​​
  • 第五章 局域网基础
  • 网络编程学习路线
  • AI时代API挑战加剧,API安全厂商F5护航企业数字未来
  • AJAX 安装使用教程
  • 从定位到变现:创客匠人创始人IP打造的底层逻辑与实践路径
  • RediSearch 字段类型与配置选项
  • 当工业设备开始“独立思考“——AI边缘计算网关的泛在化应用
  • 分布式事务理论基础及常见解决方案
  • Linux基本命令篇 —— alias命令
  • Vue 安装使用教程
  • 【格与代数系统】格与哈斯图
  • 【1.6 漫画数据库设计实战 - 从零开始设计高性能数据库】
  • Docker进阶命令与参数——AI教你学Docker
  • 【Python基础】11 Python深度学习生态系统全景解析:从基础框架到专业应用的技术深度剖析(超长版,附多个代码及结果)
  • [Python 基础课程]字符串
  • 主流零信任安全产品深度介绍
  • ESP官网的使用手册网址
  • 【Python】断言(assert)
  • 学习经验分享【41】YOLOv13:基于超图增强自适应视觉感知的实时目标检测
  • 清理 Docker 缓存占用