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.pswp.cn/bicheng/87406.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/87406.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode Hot 100 哈希【Java和Golang解法】

1.两数之和 1.两数之和 Java解法 class Solution {public int[] twoSum(int[] nums, int target) {Map<Integer, Integer> record new HashMap<>();for(int i 0; i < nums.length; i) {int temp target - nums[i];if (record.containsKey(temp)) {return n…

MySQL(108)如何进行分片合并?

分片合并&#xff08;Sharding Merge&#xff09;是指在分布式数据库系统中&#xff0c;将不同分片上的查询结果进行整合&#xff0c;以获得完整的查询结果。实现分片合并主要包括以下几个步骤&#xff1a; 查询所有相关分片&#xff1a;在所有相关分片上执行查询&#xff0c;…

轻量化5G加速上车!移远通信发布车规级RedCap模组AG53xC系列

6月26日&#xff0c;全球领先的物联网和车联网整体解决方案供应商移远通信宣布&#xff0c;重磅发布其首款车规级5G RedCap模组AG53xC系列。 该模组基于高通SA510M平台打造&#xff0c;支持3GPP R17标准&#xff0c;在成本性能平衡、硬件兼容、软件架构等方面表现优异&#xf…

如何在Ubuntu 20.04云服务器上安装RabbitMQ?

如何在Ubuntu 20.04云服务器上安装RabbitMQ&#xff1f; https://www.zhaomu.com/help/detail-824.html springboot 配置文件 spring.application.namerabbitmq-hellospring.rabbitmq.hostlocalhost spring.rabbitmq.port5672 spring.rabbitmq.usernameguest spring.rabbitm…

爬虫实战之图片及人物信息爬取

爬虫对于许多Python初学者来说都是一个好玩有趣的技能,但大多数人都是从网上得来的经验,会认为学习爬虫是件很难的事,像处理反爬机制以及反反爬,总是让人望而却步,今天我们来进行爬虫实操,需要注意爬虫本身并不违法,但恶意爬取文件将会涉及相关法律,为避免不必要的纠纷,本文采取…

vscode、openocd 使用

常用命令&#xff1a; # 先连接OpenOCD到硬件调试器&#xff0c;打开powershell命令行窗口, 会输出连接端口信息 # openocd -f <接口配置文件> -f <目标芯片配置文件> openocd -f D:/program/xpack-openocd/openocd/scripts/interface/stlink-v2.cfg -f D:/progra…

HTTP 协议深入理解

在 Web 服务与 API 设计中&#xff0c;HTTP 协议是客户端与服务器通信的基石。本文从协议演进、核心机制、缓存策略、安全特性及面试高频问题五个维度&#xff0c;系统解析 HTTP 的底层原理与工程实践。 一、HTTP 协议演进与版本差异 1.1 版本特性对比 版本发布年份核心改进局…

ABP VNext + Twilio:全渠道通知服务(SMS/Email/WhatsApp)

ABP VNext Twilio&#xff1a;全渠道通知服务&#xff08;SMS/Email/WhatsApp&#xff09; &#x1f680; &#x1f4da; 目录 ABP VNext Twilio&#xff1a;全渠道通知服务&#xff08;SMS/Email/WhatsApp&#xff09; &#x1f680;一、引言 ✨二、环境与依赖 &#x1f6e0…

电脑一体机,收银机画面显示不全——深入解析 BIOS 配置电脑分辨率——东方仙盟

在电脑的复杂体系中&#xff0c;BIOS&#xff08;基本输入输出系统&#xff09;虽深藏幕后&#xff0c;但其对电脑分辨率的配置却有着至关重要的影响。理解 BIOS 配置电脑分辨率的作用与意义&#xff0c;有助于我们更深入地挖掘电脑的性能潜力&#xff0c;优化视觉体验。 一、…

arm系统移植

目录 1. 流程2. 概念2.1 设备树2.2 根文件系统2.3 文件说明 3. 交叉编译链3.1 作用3.2 在linux下配置 4. tftp4.1 作用4.2 安装过程 5. nfs5.1 作用5.2 安装过程 6. 配置开发板7. linux下的uboot镜像烧写到SD卡中7.1 生成uboot二进制文件&#xff0c;二进制文件就是裸机程序。7…

量子算法入门——5.Qiskit库介绍与简单应用(2)

参考资料&#xff1a; 【【零基础入门量子计算】】 来自b站up&#xff1a;溴锑锑跃迁 建议关注他的更多高质量文章&#xff1a;CSDN&#xff1a;【溴锑锑跃迁】 &#xff08;实际上只带一点点原创&#xff0c;绝大部分资料来自这位大佬&#xff09; 跟着视频我手打了一遍notebo…

前端如何优雅地实现一个“请求队列”,避免服务器被卡死?

有这样一些场景&#xff1a; 页面一加载&#xff0c;需要同时发 10 个请求&#xff0c;结果页面卡住&#xff0c;服务器也快崩了。用户可以批量操作&#xff0c;一次点击触发了几十个上传文件的请求&#xff0c;浏览器直接转圈圈。 当后端处理不过来时&#xff0c;前端一股脑…

SSL/TLS协议信息泄露漏洞(CVE-2016-2183)、SSL/TLS RC4 信息泄露漏洞(CVE-2013-2566)修复方法

目录 一、问题原因二、整改步骤 一、问题原因 通过绿盟漏洞检测工具扫描发现Windows系统存在SSL/TLS协议信息泄露漏洞(CVE-2016-2183)、SSL/TLS RC4 信息泄露漏洞(CVE-2013-2566)、SSL/TLS 受诫礼(BAR-MITZVAH)攻击漏洞(CVE-2015-2808)。 二、整改步骤 使用gpedit.msc进入组…

MinHook 如何对 .NET 母体 CoreCLR 进行拦截

一&#xff1a;背景 1. 讲故事 这篇文章起源于和一家 .NET公司 开线上会议时&#xff0c;提出的一个场景问题&#xff0c;程序出现了非托管内存暴涨&#xff0c;这些非托管内存关联的对象都囤积在 终结器队列 中&#xff0c;很显然这是代码中没用 using 及时释放引发的&#…

DPI深度检索原理和架构

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; DPI&#xff08;深度包检测&#xff09;技术通过**透视网络载荷内容**实现精细化流量管控与威胁检测&#xff0c;其核心在于突破传统防火墙仅检查IP/端口等表层信息的局限&#xff0c;对**应用层数据**进…

QT Creator的返回到上一步、下一步的快捷键是什么?

在 Qt Creator 中&#xff0c;用于导航的 返回上一步 (Back) 和 前进下一步 (Forward) 的快捷键如下&#xff1a; 默认快捷键&#xff1a; 功能Windows/LinuxmacOS返回上一步Alt ←Command [前进下一步Alt →Command ]

UI前端大数据处理策略优化:基于云计算的数据存储与计算

hello宝子们...我们是艾斯视觉擅长ui设计、前端开发、数字孪生、大数据、三维建模、三维动画10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 一、引言&#xff1a;大数据时代前端处理的挑战与云计算破局 在数字化转型的浪潮中&#xff…

机器学习基础 多层感知机

机器学习基础 多层感知机 文章目录 机器学习基础 多层感知机1. 多层感知机1.1 线性模型的失效1.2 感知机1.3 感知机的收敛定理1.4 从线性到非线性1.5 多层感知机的定义和实现 参考 1. 多层感知机 1.1 线性模型的失效 ​ 在李沐《动手学深度学习》中有这样的描述&#xff1a; …

关于安装Ollama大语言模型本地部署工具

一、Ollama 安装方法概述 Ollama 是一个开源的大型语言模型(LLM)本地部署工具&#xff0c;支持在 Windows、macOS 和 Linux 系统上运行。它简化了在本地计算机上运行和管理大语言模型的流程&#xff0c;让开发者能够轻松部署各种开源模型。 Windows 系统安装步骤 访问 Ollam…

html配置rem实现页面自适应

1.在js文件使用&#xff0c;建议放到全局js中 // 全局js文件 $(function () {// 设置根目录字体大小var baseSize 16; // 设计稿的基准字体大小&#xff0c;通常是16pxvar baseWidth 750; // 设计稿的基准宽度&#xff0c;通常是750pxfunction adjustFontSize() {const widt…