数组计算模块NumPy

news2025/1/13 3:14:01

NumPy是Python数组计算、矩阵运算和科学计算的核心库。

  • 提供了高性能的数组对象
  • 提供了大量的函数和方法
  • NumPy使用机器学习中的操作变得简单
  • NumPy是通过C语言实现的

NumPy的安装  pip install numpy 

数组的分类

  • 一维数组 跟Python列表的形状一样,区别在于数组的切片是针对原始数组
  • 二维数组 以数组作为数组元素,二维数组包括行和列,类似于表格,又称为矩阵 
  • 三维数组(多维数组) 为数为三的数组元素,也称矩阵列表

轴的概念  :轴是NumPy模块里的axis,指定某个axis就是沿着axis做相关操作 

创建简单的数组

numpy.array(object,dtype=None,copy=True,ndmin=0)

不同方式创建数组

  • 创建指定维度和数据类型未初始化的数组  np.empty()
  • 创建指定维度以0填充的数组  np.zeros()
  • 创建指定维度以1填充的数组  np.ones()
  • 创建指定维度和类型的数组并以指定值填充  np.full()

从数值范围创建数组 

  • 通过数值范围创建数组 arange(start,stop,step,dtype=None)
  • 使用linspace函数创建等差数列linspace(start,stop,num=50,endpoint=True,retstep=False,dtype=None)
  • 使用logspace函数创建等比数列 logspace(start,stop,num=50,endpoint=True,base=10.0,dtype=None)

生成随机数组 

  • 生成(0,1)之间的随机数组        np.random.rand()
  • 随机生成满足正态分布的数组 np.random.randn()
  • 生成一定范围内的随机数组     np.random.randint()
  • 生成正态分布的随机数组         np.random.normal()

Numpy的数据类型比Python数据类型增加了更多种类的数值类型,为了区别于Python的数据类型,像bool、int、float等数据类型的名称末尾都加了 “_”

索引

  • 用于标记数组当中对应元素的唯一数字,从0开始
  • 索引的区间范围   [0~N-1]
  • 索引的使用语法   obj[index]

切片式索引 

  • 语法结构  [start:stop:step]
  • start:起始索引
  • stop:终止索引
  • step:步长

二维数组索引 语法格式   array[n,m]

二维数组的切片式索引

 

数组重塑

  • 数组重塑是更改数组的形状
  • 使用reshape方法,用于改变数组的形状     
  • 重塑后数组所包含的元素个数必须与原数组的元素个数相同,元素发生变化,程序就会报错    

数组转置

  • 数组的行列转换
  • 通过数组的T属性和transpose方法实现 

数组的增加

  • 水平方向增加数据 hstack()函数
  • 垂直方向增加数据 vstack()函数 

数组的删除

  • 使用delete()函数 

矩阵 矩阵是数学的概念,而数组是计算机程序设计领域的概念。在NumPy中,矩阵是数组的分支,二维数组也称为矩阵 。

创建矩阵    numpy.mat()函数

矩阵运算    可以对矩阵进行加、减、乘、除运算 

矩阵的乘法运算

import numpy as np

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

# 使用numpy.dot()函数进行矩阵乘法
C = np.dot(A, B)
print(C)

# 使用@运算符进行矩阵乘法
D = A @ B
print(D)


#
[[19 22]
 [43 50]]
[[19 22]
 [43 50]]

数组的排序  

对数组元素进行排序

  • sort():直接改变原数组,参数axis指定按行排序还是按列排序
  • argsort():返加升序之后的数组值为从小到大的索引值
  • lexsort():用于对多个序列进行排序 

NumPy常用分析函数

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1372946.html

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

相关文章

Linux日志服务管理

一:日志管理: 1.日志介绍: /var/log/boot.log 系统服务启动的相关信息,文本格式 2.日志的级别: 3.日志的种类及位置: 3.1系统日志: /var/log/secure:系统安全信息 /var/log/messag…

K8S的部署策略,重建更新和滚动更新

Deployment Strategies 部署战略 When it comes time to change the version of software implementing your service, a Kubernetes deployment supports two different rollout strategies: RecreateRollingUpdate 当需要更改实施服务的软件版本时,Kubernetes …

Beauty algorithm(七)瘦脸

瘦脸的实现采用局部平移法。 一、skills 前瞻 局部平移 二、目标区域定位 左脸: 关键点选择3、5点,基点30 rmax:计算两点5-3间的距离, |x-c|:图像任一点到固定基点c的距离 |m-c|:两固定点距离 右脸: 关键点选择

【simple-admin】FMS模块如何快速接入阿里云oss 腾讯云cos 服务 实现快速上传文件功能落地

让我们一起支持群主维护simple-admin 社群吧!!! 不能加入星球的朋友记得来点个Star!! https://github.com/suyuan32/simple-admin-core 一、前提准备 1、goctls版本 goctls官方git:https://github.com/suyuan32/goctls 确保 goctls是最新版本 v1.6.19 goctls -v goct…

伺服脉冲轴控制调试应用(汇川H3UPLC)

脉冲轴驱动器使能信号控制的相关应用请参考下面文章链接: https://rxxw-control.blog.csdn.net/article/details/135501117https://rxxw-control.blog.csdn.net/article/details/135501117S7-1200PLC脉冲轴控制功能块SCL源代码 https://rxxw-control.blog.csdn.net/article/…

固定翼仿真的切换

delta固定翼飞行器模型 接着这篇文章文章链接&#xff0c;我们对飞行器模型进行改进&#xff0c; 我们知道&#xff0c;我们打开仿真模型 gazebo --verbose zephyr_ardupilot_demo.world 我们注意这最后一个语句 <model name"zephyr_delta_wing_demo">//加载z…

test fuzz-03-模糊测试 Atheris A Coverage-Guided, Native Python Fuzzer

拓展阅读 开源 Auto generate mock data for java test.(便于 Java 测试自动生成对象信息) 开源 Junit performance rely on junit5 and jdk8.(java 性能测试框架。性能测试。压测。测试报告生成。) test fuzz-01-模糊测试&#xff08;Fuzz Testing&#xff09; test fuzz-…

​iOS 应用上架指南:资料填写及提交审核

目录 摘要 引言 打开appuploader工具&#xff0c;第二步&#xff1a;打开appuploader工具 第五步&#xff1a;交付应用程序&#xff0c;在iTunes Connect中查看应用程序 总结 摘要 本文提供了iOS新站上架资料填写及提交审核的详细指南&#xff0c;包括创建应用、资料填写-…

openeuler的安装和两台linux主机配置ssh实现互相免密登陆

一、openeuler的安装 下载OpenEuler - 网址&#xff1a;https://www.openeuler.org/zh/download/archive/ - 版本选择&#xff1a;openEuler 22.03 LTS SP2 &#xff08;镜像文件&#xff09; &#xff0c;即长期更新版 设置自定义硬件 内存&#xff1a;推荐2GB 处理器&…

如何本地搭建DolphinScheduler并无公网ip远程访问管理界面

文章目录 前言1. 安装部署DolphinScheduler1.1 启动服务 2. 登录DolphinScheduler界面3. 安装内网穿透工具4. 配置Dolphin Scheduler公网地址5. 固定DolphinScheduler公网地址 前言 本篇教程和大家分享一下DolphinScheduler的安装部署及如何实现公网远程访问&#xff0c;结合内…

C语言结构体的字节对齐

C语言结构体的字节对齐 什么是字节对齐 首先来看下面的程序&#xff1a; #include <stdio.h>typedef struct n1{int a;char b;char c; } N_stru1;typedef struct n2{char b;int a;char c; } N_stru2;int main() {N_stru1 n1;N_stru2 n2;printf("%d\n", siz…

查看SOLIDWORKS 2024的最佳价格和特惠优惠

尊敬的客户&#xff0c; 在 SOLIDWORKS 2024 引领设计技术的未来之际&#xff0c;我们为您提供了更划算的价格和特惠优惠&#xff0c;助您在设计领域更进一步。本文将为您介绍 SOLIDWORKS 2024 的最佳价格&#xff0c;确保您获得最佳的设计工具和投资回报。 1. SOLIDWORKS202…

鸿蒙 command not found: ohpm

第一步&#xff1a;找到ohpm home copy路径&#xff1a;/Users/admin/newohpm 第二步&#xff1a;打开终端 输入&#xff1a;open ~/.bash_profile 会弹出 第三步&#xff1a;弹框中输入&#xff1a; export OHPM_HOME/Users/admin/newohpm export PATH${PATH}:${OHPM_HOM…

使用rembg库提取图像前景(移除图像背景),并构建web应用

1、图像中的前景与背景 在深度学习图像处理领域中&#xff0c;图像内容可以被定义为前景与背景两部分&#xff0c;其中感兴趣图形的被定义为前景&#xff0c;不感兴趣区域的背景。如在目标检测中&#xff0c;被框出来的目标则被定义为前景。此外&#xff0c;前景识别也可以理解…

element plus el-form双列布局及拓展任意布局

1 场景 一般表单我们直接默认布局&#xff0c;也就是单列布局&#xff0c;突然有个人员信息表单&#xff0c;需要双列布局的需求&#xff0c;简单实现并拓展下 2 思路 直接无脑divflex布局实现 3 代码 <template><el-form ref"formRef" :model"fo…

【Mysql】InnoDB 引擎中的页目录

一、页目录和槽 现在知道记录在页中按照主键大小顺序串成了单链表。 那么我使用主键查询的时候&#xff0c;最顺其自然的办法肯定是从第一条记录&#xff0c;也就是 Infrimum 记录开始&#xff0c;一直向后找&#xff0c;只要存在总会找到。这种在数据量少的时候还好说&#x…

Federated Unlearning for On-Device Recommendation

WSDM 2023 CCF-B Federated Unlearning for On-Device Recommendation 本文工作的主要介绍 本文主要介绍了一种名为FRU&#xff08;Federated Recommendation Unlearning&#xff09;的联邦学习框架&#xff0c;用于在设备端的推荐系统中实现用户数据的有效擦除和模型重建。…

Web 缓存代理—— Nginx、CDN

代理的工作机制 代替客户机向网站请求数据&#xff0c;从而可以隐藏用户的真实IP地址。将获得的网页数据&#xff08;静态 Web 元素&#xff09;保存到缓存中并发送给客户机&#xff0c;以便下次请求相同的数据时快速响应。 代理服务器的概念 代理服务器是一个位于客户端和原始…

Kafka之集群搭建

1. 为什么要使用kafka集群 单机服务下&#xff0c;Kafka已经具备了非常高的性能。TPS能够达到百万级别。但是&#xff0c;在实际工作中使用时&#xff0c;单机搭建的Kafka会有很大的局限性。 ​ 消息太多&#xff0c;需要分开保存。Kafka是面向海量消息设计的&#xff0c;一个T…

徐怀钰巡演将开启,巡回22城上演全民金曲盛宴

1月10日下午&#xff0c;天后徐怀钰空降成都&#xff0c;现身“徐怀钰2024倒数3秒巡回演唱会”新闻发布会&#xff0c;在行业大咖、百余名歌迷的陪伴与在线数万直播观众的见证下&#xff0c;正式揭晓22座巡演城市&#xff0c;宣告巡演璀璨开启。主办方今夕何夕文化表示&#xf…