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

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.dtcms.com/a/266172.html

相关文章:

  • Debian-10-standard用`networking`服务的`/etc/network/interfaces`配置文件设置多网卡多IPv6
  • 【2.4 漫画SpringBoot实战】
  • CMake之CMakeLists.txt语法规则
  • 网安系列【1】:黑客思维、技术与案例解析
  • DDD实战:CQRS模式在电商报表系统中的高性能实践
  • RNN案例人名分类器(完整步骤)
  • MySQL 8.0 OCP 1Z0-908 题目解析(17)
  • POST请求url放参数场景-笔记
  • Spring SseEmitter 系统详细讲解
  • WPF学习笔记(16)树控件TreeView与数据模板
  • WPF学习笔记(22)项面板模板ltemsPanelTemplate与三种模板总结
  • spring-ai-alibaba 1.0.0.2 学习(八)——接入阿里云信息查询服务
  • 深度学习-逻辑回归
  • RJ45 连接器(水晶头)的引脚定义
  • 从0到1解锁Element-Plus组件二次封装El-Dialog动态调用
  • Gemini CLI初体验
  • 二叉树题解——二叉树的层序遍历【LeetCode】队列实现
  • Java中Stream流的使用
  • Web攻防-文件上传黑白名单MIMEJS前端执行权限编码解析OSS存储分域名应用场景
  • 设计模式(九)
  • 魔术方法__call__
  • Redis缓存架构实战
  • Selenium Base全新升级版:新一代自动化框架实战解析
  • Python 的内置函数 range
  • 高边驱动 低边驱动
  • 黑暗中的爆破(船讯网Ais爬虫暨爬虫实战js逆向学习经验分享)
  • 车载以太网-IP 掩码 vlan 端口
  • SciPy 安装使用教程
  • [特殊字符] 电子机械制动(EMB)产业全景分析:从技术演进到千亿市场爆发
  • 高通QCS8550部署YOLO-NAS模型与性能测试