【NumPy】基础知识
NumPy是Python的第三方库,要使用需要先导入。
import numpy as np
在pycharm中可以通过np.来查看numpy的可用函数。

np.函数名? 查看对应函数的详细信息。

生成NumPy数组
ndarray 多维数组对象
numpy封装了一个新的数据类型ndarray,是一个多维数组对象。该对象封装了许多常用数学运算函数。
这段代码要在jupyter中运行才会显示图片。
cv.imread()函数-CSDN博客读取图片后以多维数组的形式保存图片信息,前两维表示图片的像素坐标,最后一维表示图片的通道索引,具体图像的通道数由图片的格式来决定。是一个3维numpy数组,这个数组有三个轴,长度分别为1068、1080、3。
numpy的ndarray对象有3个重要的属性:
print("img数组的维度",img.ndim) print("img数组的形状",img.shape) print("img数组的数据类型",img.dtype)
import numpy as np# 使用Opencv2开源库读取图像数据
import cv2from matplotlib import pyplot as plt# 读取一张图片,把图像转换为2维的numpy数组
img=cv2.imread("./hachiware1.jpg")# 使用plt显示图像
plt.imshow(img)print("数据类型:{},形状:{}".format(type(img),img.shape))
利用已有数据生成数组
1)将列表转换为ndarray
numpy.array(lst1)
import numpy as nplst1=[3.14,2.17,0,1,2]
print(lst1)nd1=np.array(lst1)print(nd1)
print(type(nd1))print(nd1.ndim)
print(nd1.shape)
print(nd1.dtype)

2)将嵌套列表转换成多维数组
import numpy as nplst1=[ [3.14,2.17,0,1,2] , [1,2,3,4,5] ]
nd2=np.array(lst1)
print(nd2)print(type(nd2))print(nd2.ndim)
print(nd2.shape)
print(nd2.dtype)

3)利用random模块生成数组
import numpy as np#生成形状为(4,4),值在0-1之间的随机数
#np.random.random 生成0-1之间的随机数
print(np.random.random((4,4)),end='\n\n')#产生一个取值范围在[1,50)之间的数组,数组的形状是(3,3)
#参数起始值(low)默认为0,终止值(high)默认为1
print(np.random.randint(low=1,high=50,size=(3,3)),end='\n\n')#产生的数组元素是均匀分布的随机数
print(np.random.uniform(low=1,high=3,size=(3,3)),end='\n\n')#生成满足正态分布的形状为(3,3)的矩阵
print(np.random.randn(3,3))
上面的代码每次结果都不一样了,可以通过设置种子让每次结果都一样。
前面加上下面这段代码即可。
np.random.seed(10)
import numpy as npnp.random.seed(10)#生成形状为(4,4),值在0-1之间的随机数
#np.random.random 生成0-1之间的随机数
print(np.random.random((4,4)),end='\n\n')#产生一个取值范围在[1,50)之间的数组,数组的形状是(3,3)
#参数起始值(low)默认为0,终止值(high)默认为1
print(np.random.randint(low=1,high=50,size=(3,3)),end='\n\n')#产生的数组元素是均匀分布的随机数
print(np.random.uniform(low=1,high=3,size=(3,3)),end='\n\n')#生成满足正态分布的形状为(3,3)的矩阵
print(np.random.randn(3,3))
生成特定形状的多维数组
import numpy as np#生成全是0的3*3矩阵
nd5=np.zeros([3,3])
print(nd5)#生成与nd5形状一样的全0矩阵
nd5=np.zeros_like(nd5)
print(nd5)#生成全是1的3*3矩阵
nd5=np.ones([3,3])
print(nd5)#生成三阶单位矩阵
nd5=np.eye(3)
print(nd5)#生成三阶对角矩阵
nd5=np.diag([1,2,3])
print(nd5)
将生成的数组保存到文件里
import numpy as npnd5=np.diag([1,2,3])
print(nd5)#保存为文件
np.savetxt(X=nd5,fname='./test1.txt')#加载文件中数据
nd5=np.loadtxt('./test1.txt')
print(nd5)
发现文件夹里多了test1.txt文件。

利用arrange、linspace函数生成数组
import numpy as np#arrange([start,],stop[,step,],dtype=None)
#start和stop用于指定范围,step用于指定步长,生成一个数组
#start默认为0,step可为小数
#范围为[start,stop)
print(np.arange(10))
print(np.arange(0,10))
print(np.arange(1,4,0.5))
print(np.arange(9,-1,-1))

相关文章:
【NumPy】基础知识
NumPy是Python的第三方库,要使用需要先导入。 import numpy as np 在pycharm中可以通过np.来查看numpy的可用函数。 np.函数名? 查看对应函数的详细信息。 生成NumPy数组 ndarray 多维数组对象 numpy封装了一个新的数据类型ndarray,是一个多维数组对…...
传统CV算法——特征匹配算法
Brute-Force蛮力匹配 Brute-Force蛮力匹配是一种简单直接的模式识别方法,经常用于计算机视觉和数字图像处理领域中的特征匹配。该方法通过逐一比较目标图像中的所有特征点与源图像中的特征点来寻找最佳匹配。这种方法的主要步骤包括: 特征提取ÿ…...
PyInstaller问题解决 onnxruntime-gpu 使用GPU和CUDA加速模型推理
前言 在模型推理时,需要使用GPU加速,相关的CUDA和CUDNN安装好后,通过onnxruntime-gpu实现。 直接运行python程序是正常使用GPU的,如果使用PyInstaller将.py文件打包为.exe,发现只能使用CPU推理了。 本文分析这个问题…...
Apache Pig
目录 一、配置说明1.本地模式2.集群模式 二、pig的数据模型三、pig的数据类型四、惰性执行五、pig的基本语法5.1语法说明5.2案例操作 六、pig的自定义函数 一、配置说明 1.本地模式 操作的是Linux系统文件 pig -x local关键日志 当前处于root目录下 2.集群模式 连接的是…...
axios返回的是promise对象如何处理?
axios返回的是promise对象如何处理? Axios返回的是Promise对象,这意味着可以使用Promise的.then()、.catch()和.finally()方法来处理异步操作的结果。 以下是处理Axios返回Promise对象的几种常见方式: 1、使用.then()处理响应数据…...
归并排序/计数排序
1:归并排序 1.1:代码 void _MergeSort(int* arr, int left, int right, int* tmp) {if (left > right){return;}int mid (left right) / 2; _MergeSort(arr, left, mid, tmp); _MergeSort(arr, mid1, right, tmp); int begin1 left…...
etcdctl defrag 剔除、添加etcd节点
零、准备工作 find / -name etcdctl cp /var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/12/fs/usr/local/bin/etcdctl /usr/local/bin/etcdctlalias ec"etcdctl --endpointshttps://127.0.0.1:2379 --cacert /etc/kubernetes/pki/etcd/ca.crt --…...
计算机网络(二) —— 网络编程套接字
目录 一,认识端口号 1.1 背景 1.2 端口号是什么 1.3 三个问题 二,认识Tcp协议和Udp协议 三,网络字节序 四,socket编程接口 4.1 socket常见API 4.2 sockaddr结构 一,认识端口号 1.1 背景 问题:在进…...
二百五十九、Java——采集Kafka数据,解析成一条条数据,写入另一Kafka中(一般JSON)
一、目的 由于部分数据类型频率为1s,从而数据规模特别大,因此完整的JSON放在Hive中解析起来,尤其是在单机环境下,效率特别慢,无法满足业务需求。 而Flume的拦截器并不能很好的转换数据,因为只能采用Java方…...
Qt项目使用Inno Setup打包(关于打包中文乱码的解决)
关于打包好的文件乱码解决方法 打包好的文件中文乱码,就是编码格式出现了问题,更改一下中文脚本编码格式,在官网Inno Setup Translations下载好中文脚本 点击下载,然后另存为 得到ChineseSimplified.isl.txt文件后&#…...
HTML和HTML5有什么区别
HTML(超文本标记语言)是构建网页的基础,而HTML5是HTML的最新版本。虽然HTML和HTML5在许多方面相似,但HTML5引入了许多新的特性和改进,使得网页开发更加高效和功能丰富。 一、HTML概述 HTML,即超文本标记语…...
Collections
Collections 是 Java 中的一个实用工具类,提供了一系列静态方法来操作集合。以下是其详细介绍: 前置知识 在 Java 中,可变参数(Varargs)允许方法接受可变数量的参数。使用可变参数时,可以传递任意数量的参…...
fastreport打印trichedit分页问题的解决
用fastreport来打印richedit里面的内容。刚开始放一个frxrichview组件到报表上,然后在 var str: TMemoryStream; begin begin str: TMemoryStream.Create; CurrRichRecord.richedit.Lines.SaveToStream(str); str.Position: 0; tfrxRichview(fr…...
【MeterSphere】vnc连接不上selenium-chrome容器
目录 一、现象 二、查看配置文件 docker-compose-seleniarm.yml 三、处理 3.1 删除上图当中的三行 3.2 msctl reload 3.3 重新连接 前言:使用vnc连不上ms的selenium-chrome容器,看不到里面运行情况,以前其实可以,后来不行…...
mysql explain分析
目录 思维导图 id select_type SIMPLE PRIMARY SUBQUERY DEPENDENT SUBQUREY UNCACHEABLE SUBQUREY: UNION UNION RESULT DERIVED MATERIALIZED table partitions type ALL index range ref eq_ref const system possible_keys keys key_l…...
[论文笔记]Circle Loss: A Unified Perspective of Pair Similarity Optimization
引言 为了理解CoSENT的loss,今天来读一下Circle Loss: A Unified Perspective of Pair Similarity Optimization。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 这篇论文从对深度特征学习的成对相似度优化角度出发,旨在最大化同类之间…...
Windows .NET8 实现 远程一键部署,几秒完成发布,提高效率 - CICD
1. 前言 场景 (工作环境 一键部署 到 远端服务器 [阿里云]) CICD 基本步骤回顾 https://blog.csdn.net/CsethCRM/article/details/141604638 2. 环境准备 服务器端IP:106.15.74.25(阿里云服务器) 客户端࿱…...
echarts 水平柱图 科技风
var category [{ name: "管控", value: 2500 }, { name: "集中式", value: 8000 }, { name: "纳管", value: 3000 }, { name: "纳管", value: 3000 }, { name: "纳管", value: 3000 } ]; // 类别 var total 10000; // 数据…...
标准IO与系统IO
概念区别 标准IO:(libc提供) fopen fread fwrite 系统IO:(linux系统提供) open read write 操作效率 因为内存与磁盘的执行效率不同 系统IO: 把数据从内存直接写到磁盘上 标准IOÿ…...
【conda】Conda 环境迁移指南:如何更改 envs_dirs 和 pkgs_dirs 以及跨盘迁移
目录 迁移概述一、conda 配置文件1.1 安装 Conda 后的默认目录设置1.2 查看当前 .condarc 配置 二、更改 Conda 的 envs_dirs 和 pkgs_dirs 设置2.1 使用 conda config 命令Windows 和 Linux 系统 2.2 手动编辑 .condarc 文件Windows 系统Linux 系统 2.3 验证设置 三、迁移 Con…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
MyBatis中关于缓存的理解
MyBatis缓存 MyBatis系统当中默认定义两级缓存:一级缓存、二级缓存 默认情况下,只有一级缓存开启(sqlSession级别的缓存)二级缓存需要手动开启配置,需要局域namespace级别的缓存 一级缓存(本地缓存&#…...
Python竞赛环境搭建全攻略
Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型(算法、数据分析、机器学习等)不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...
jdbc查询mysql数据库时,出现id顺序错误的情况
我在repository中的查询语句如下所示,即传入一个List<intager>的数据,返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致,会导致返回的id是从小到大排列的,但我不希望这样。 Query("SELECT NEW com…...

