数组计算模块NumPy

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常用分析函数

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MongoDB—SQL到MongoDB映射图表

一、术语和概念 下表显示了各种 SQL 术语和概念 以及相应的 MongoDB 术语和概念。 SQL Terms/Concepts MongoDB Terms/Concepts database database table collection row document or BSON document column field index index table joins $lookup, embedded docu…

RV1126边缘计算AI盒子,支持4-6路1080p视频,2T 算力

1 产品概述 信迈推出基于瑞芯微Rockchip RV1126架构的AI边缘计算主板,RV1126芯片是四核ARM Cortex-A7,1.5GHz, RSIC-V 200MHz CPU ,NPU2.0Tops。AI边缘计算主板外围接口丰富,拥有超强扩展性,可广泛应用在智慧安防、工…

贝锐蒲公英云智慧组网解读:实现工业设备远程调试、异地PLC互联

这个时候,使用异地组网是非常有效的解决方案。在12月28日贝锐官方的直播中,请到了贝锐蒲公英的技术研发经理,为大家分享了贝锐蒲公英云智慧组网解决方案,以及蒲公英二层组网相关的技术和应用。 搜索“贝锐”官方视频号&#xff0c…

AI数据和测试评价

1数据收集和清洗 为了训练AI模型,需要收集和准备足够的数据。数据应该涵盖各种情况和场景,以确保系统在各种情况下都能准确地运行。数据原始来源应该是真实的,并且应该涵盖系统预计的使用情况。数据应该根据特定的需求进行采样和处理,可以来自各种来源,例如公共数据集、第…

Oracle数据库19c OCP 1z0-082考场真题解析第24题

考试科目:1Z0-082 考试题量:90 通过分数:60% 考试时间:150min 本文为云贝教育郭一军guoyJoe原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。【云贝教育】Orac…

Matlab 之数据分布拟合

文章目录 Part.I IntroductionPart.II Distribution Fitter APP 的使用Chap.I APP 简介Chap.II 简单使用 Part.III 通过代码实现分布拟合Chap.I 基于 fitdist 函数Chap.II 获取数据的频率分布后进行曲线拟合 Reference Part.I Introduction 本文主要介绍了如何使用 Matlab 对数…

【Verilog】期末复习——分别画出下面两个程序综合后的电路图/reg型数据和wire型数据的区别

系列文章 数值(整数,实数,字符串)与数据类型(wire、reg、mem、parameter) 运算符 数据流建模 行为级建模 结构化建模 组合电路的设计和时序电路的设计 有限状态机的定义和分类 期末复习——数字逻辑电路分…

设计模式-空对象模式

设计模式专栏 模式介绍模式特点应用场景空对象模式和单例模式的区别代码示例Java实现空对象模式Python实现空对象模式 空对象模式在spring中的应用 模式介绍 空对象模式是一种设计模式,用于处理对象不存在的情况。它通过返回一个空对象来代替 null 值,从…

视频号小店发展趋势如何?适合新手吗?

我是电商珠珠 视频号团队在22年7月发展了自己的电商平台-视频号小店。截止到目前为止,也发展了不过一年的时间,所以各项平台政策还不太严谨。 一个新兴平台所做的第一步就是招揽更多的商家来入驻,就会将红利全部倾向商家,而在今…

6.1.2捕捉图像(3)

6.文字捕捉 除了可以捕捉图像外,HyperSnap6还有一个非常神奇、非常实用的功能——文字捕捉。利用文字捕捉,可以把一段不可复制的文字捕捉下来,以便于重新编辑。 (1)右单击桌面上的“我的电脑”,在弹出的快捷菜单中选…

Kubernetes(K8S)云服务器实操TKE

一、 Kubernetes(K8S)简介 Kubernetes源于希腊语,意为舵手,因为首尾字母中间正好有8个字母,简称为K8S。Kubernetes是当今最流行的开源容器管理平台,是 Google 发起并维护的基于 Docker 的开源容器集群管理系统。它是大名鼎鼎的Google Borg的开源版本。 K8s构建在 Docker …

世微 AP6608 DC-DC转换器 1.2MHz 2-24V 2A升压转换IC

FEATURES? Integrated 80mΩ Power MOSFET ? 2V to 24V Input Voltage ? 1.2MHz Fixed Switching Frequency ? Internal 4A Switch Current Limit ? Adjustable Output Voltage ? Internal Compensation ? Up to 28V Output Voltage ? Automatic Pulse Frequency Modul…

聚道云软件连接器助力某电商企业实现电商业务与财务系统的数据互通

客户介绍: 某电商企业是一家集电商平台、仓储物流、售后服务等业务于一体的综合性电商企业。公司业务遍布全国多个城市,拥有庞大的客户群和销售额。 添加图片注释,不超过 140 字(可选) 客户痛点: 有赞商…

高通ais over hab高概率导致安卓系统起不来原因分析及解决方案

一)ais概述 高通8155的摄像头驱动在hostOS qnx上,guestOS 安卓要使用摄像头,就需要就需要通过hab机制与qnx通信。 Ais框架如下 二)ais的控制通道与数据通道 a)控制通道即,front end需要将start/stop摄像头的控制命令发…

arm64虚拟化技术与kvm实现原理分享

文章目录 1 简介2 arm64 虚拟化相关硬件支持2.1 arm64 cpu 虚拟化基本原理及硬件支持2.2 系统寄存器捕获和虚拟寄存器支持2.3 VHE 特性支持2.4 内存虚拟化支持2.5 IO 虚拟化支持2.6 DMA 虚拟化支持2.7 中断虚拟化支持2.8 定时器虚拟化支持 3 arm64 kvm 初始化流程3.1 初始化总体…

烟火检测/区域人流统计/AI智能分析网关V4如何配置通道?

TSINGSEE青犀智能分析网关(V4版)是一款高性能、低功耗的软硬一体AI边缘计算硬件设备,硬件内部署了近40种AI算法模型,支持对接入的视频图像进行人、车、物、行为等实时检测分析,并上报识别结果,并能进行语音…

vue cli脚手架

1. vue cli 脚手架安装 参考官网:https://cli.vuejs.org/zh/guide/installation.html 步骤如下: 全局安装 npm install -g vue/cli # OR yarn global add vue/cli查看版本 vue --version # OR vue -V升级Vue cli (需要升级的时候&#x…

nginx(1.13.7)首次安装出现:【make: *** 没有规则可以创建“default”需要的目标“build” 问题】解决措施

目录 前言: 一.龙蜥(Anolis)操作系统上安装GCC 1.安装gcc 2.检验安装 二.安装出现 make: *** 没有规则可以创建“default”需要的目标“build” 问题 1.解压安装nginx 2.安装出现问题展示 3.解决措施 4.重新编译进行安装 5…

2024年能报考的人工智能行业有哪些证书呢?

近期工信部颁发的两个证书现在正在报考中,大家可以参考下: 《计算机视觉处理设计开发工程师》中级 2024年1月24日至28日-北京 《自然语言与语音处理设计开发工程师》中级 2024年2月29日-3月4日-上海 证书益处: 1.含金量高:…

JPEG格式详解Baseline、Progressive的区别

文章目录 JPEG的简介压缩质量/压缩比率色彩空间基线和渐进子采样存储选项 基线和渐进基线格式渐进格式: 子采样4:4:4(无损)4:2:24:2:0 JPEG的简介 JPEG(Joint Photographic Experts Group)是一种常见的图像压缩格式&a…