python中numpy库使用

array数组

生成array数组

将list转化为array数组

import numpy as np
np.array([1,2],type=np.int32)

其中dtype定义的是元素类型,np.int32指32位的整形
如果直接定义dtype=int 默认的是32位整形。
在这里插入图片描述

zeorsones方法

zeros()方法,该方法和ones()类似,都是通过指定大小生成矩阵,顾名思义zeors生成全0而ones生成全1,需要注意的是定义的矩阵形状参数是一个元组,而不能分开输入,如下图中(1,3)表生成1行3列的矩阵。
在这里插入图片描述

arange()方法

arange()方法类似于列表推导式。在该方法中可以输入三个参数,分别是起始值,终止值,步长。也可以输入一个值,此时起始值默认为0,步长默认为1
在这里插入图片描述

linspace方法

linspace方法,该方法和arange方法类似,区别是一个是arange定义步长而linspace定义取的点个数,该方法定义在指定区域中每隔一个平均长度取一个点。包含截至点。
在这里插入图片描述

random方法

random方法,该方法在根据指定形状随机生成0到1之间的数。
在这里插入图片描述

常用方法

1查询数组维度

.ndim
返回数组维度
在这里插入图片描述

2查询数组形状

.shape
返回形状,例如(1,1)表示该数组有1行1列
在这里插入图片描述

3查询大小

.size
返回元素个数
在这里插入图片描述

4查询元素类型

.dtype
在这里插入图片描述

改变数组形状reshape

.reshape()可以将数组调整为指定形状,不过前提是改变前形状和改变后形状元素个数一致,否则会报错
在这里插入图片描述

寻找元素和求和

numpy.max(array)找到array数组中最大元素
numpy.min(array)找到array数组中最小元素
numpy.sum(array)对array数组求和
上述三个方法中。默认对整个数组查找或执行。同时也可以指定维度。添加参数axis=1表示对列操作,同理axis=0表示对行操作。
在这里插入图片描述

寻找最大最小元素位置

numpy.argmax(array)返回array数组中最大值位置
numpy.argmin(array)放回array数组中最小值位置
上述两个方法缺点是该位置是将array转化为1维数组后位置,如果查询多维数组需要一些转化
在这里插入图片描述

常用于越界处理的clip方法

np.clip()该方法有三个参数,分别是指定的数组,下界,上界。该方法作用是处理越界,例如如果某函数越了上界就将该元素修改为上界。如果有元越了下界,就修改了下界。
在这里插入图片描述

矩阵装置

.T.transpose均是装置
在这里插入图片描述

扩展维度

使用np.newaxis
在这里插入图片描述

数组计算

比较元素

两个矩阵可以直接比较,放回一个相同形状元素,如果两个矩阵同一位置满足条件新矩阵为True否则为False。利用该方法可以放回指定元素。例如
在这里插入图片描述

运算和矩阵相乘

np.dot(a,b)是a和b矩阵相乘。该方法执行的是线性代数的矩阵相乘。
而直接使用* + - **分别是两个矩阵对应位置元素相乘、相加、相减、指数运算
在这里插入图片描述

拷贝

这里的拷贝和列表相差无几。分为浅拷贝和深拷贝。
浅拷贝是将元素复制,如果元素是一个数组直接复制地址。使用方法view
深拷贝会将子数组也复制。使用方法copy
在这里插入图片描述

参考资料

链接

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

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

相关文章

Qt——入门基础

目录 Qt入门第一个应用程序 main.cpp widget.h widget.cpp widget.ui .pro Hello World程序 对象树 编辑框 按钮 Qt 窗口坐标系 Qt入门第一个应用程序 main.cpp 这就像一开始学语言时都会打印一个“Hello World”一样,我们先来看看创建好一个项目后&…

ModuleNotFoundError: No module named ‘PyQt5‘

运行python程序的时候报错:ModuleNotFoundError: No module named ‘PyQt5‘ 这是因为没有安装pyqt5依赖包导致的,安装一下即可解决该问题。 安装依赖 pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple 这里是使用的清华镜像源进行安装…

数据库系统原理实验报告5 | 数据查询

整理自博主本科《数据库系统原理》专业课自己完成的实验报告,以便各位学习数据库系统概论的小伙伴们参考、学习。 专业课本: ———— 本次实验使用到的图形化工具:Heidisql 目录 一、实验目的 二、实验内容 1.找出读者所在城市是“shangh…

STM32G0存储器和总线架构

文章目录 前言一、系统架构二、存储器构成三、存储器地址映射四、存储器边界地址五、外设寄存器边界地址 前言 此文章是STM32G0 MCU的学习记录,并非权威,请谨慎参考。 STM32G0主流微控制器基于工作频率可达64 MHz的高性能Arm Cortex-M0 32位RISC内核。该…

GEE数据集——DeltaDTM 全球沿海数字地形模型数据集

DeltaDTM 全球沿海数字地形模型产品 简介 DeltaDTM 是全球沿岸数字地形模型(DTM),水平空间分辨率为 1 弧秒(∼30 米),垂直平均绝对误差(MAE)为 0.45 米。它利用 ICESat-2 和 GEDI …

内容安全(IPS入侵检测)

入侵检测系统( IDS )---- 网络摄像头,侧重于风险管理,存在于滞后性,只能够进行风险发现,不能及时制止。而且早期的IDS误报率较高。优点则是可以多点进行部署,比较灵活,在网络中可以进…

【java9】java9新特性之改进JavaDocs

Java9在JavaDocs方面的主要新特性是,其输出现在符合兼容HTML5标准。在之前的版本中,默认的HTML版本是 HTML4.01,但在Java9及之后的版本中,JavaDocs命令行工具将默认使用HTML5作为输出标记语言。这意味着,使用JavaDocs工…

Markdown 精简教程(胎教级教程)

文章目录 一、关于 Markdown1. 什么是 Markdown?2. 为什么要用 Markdown?3. 怎么用 Markdown?(编辑软件) 二、标题1. 常用标题写法2. 可选标题写法3. 自定义标题 ID4. 注意事项 三、段落四、换行五、字体选项1. 粗体2.…

跨境电商行业分析-商品出海的四大路径

1. 跨境电子商务模式和国内电子商务模式【区别】 最大的不同点有3个: 达成交易的双方是属于不同【关境】的交易主体商品通过众多电子商务平台/独立站等,进行支付结算通过国际物流的方式(海运/铁路/空运/卡车)进行报关、清关、派…

anconda创建虚拟环境,使用虚拟环境(基于win平台)

假设已经安装了anconda,打开anaconda的 shell。 查看已存在的虚拟环境,base是默认的,不用理会,后面的yolov5就是用户创建的 #查看有那些虚拟环境 (base) PS C:\Users\x> conda info -e # conda environments: # base …

如何判断代理IP质量?

由于各种原因(从匿名性和安全性到绕过地理限制),代理 IP 的使用变得越来越普遍。然而,并非所有代理 IP 都是一样的,区分高质量和低质量的代理 IP 对于确保流畅、安全的浏览体验至关重要。以下是评估代理 IP 质量时需要…

计划订单转采购申请的增强点和可以增强的内容

MD15 MD14 计划订单转采购申请,涉及的增强点和增强内容 对于外协的采购申请,有时候需要对组件的内容做一些特殊的处理,但是处理组件清单的增强ME_COMPONENTS_UPDATE的增强点(这个增强点对于手工创建的外协PR、外协PO,外协pr转外协…

Day21 代码随想录打卡|字符串篇---右旋转字符串

题目(卡码网 T55): 字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串 s 和一个正整数 k,请编写一个函数,将字符串中的后面 k 个字符移到字符串的前面,实现字符串的右旋转…

Pycharm无法链接服务器环境(host is unresponsived)

困扰了很久的一个问题,一开始是在服务器ubuntu20.04上安装pycharm community,直接运行服务器上的pycharm community就识别不了anaconda中的环境 后来改用pycharm professional也无法远程连接上服务器的环境,识别不了服务器上的环境&#xff…

[力扣题解]102.二叉树的层序遍历

题目&#xff1a;102. 二叉树的层序遍历 代码 迭代法 class Solution { public:vector<vector<int>> levelOrder(TreeNode* root) {queue<TreeNode*> que;TreeNode* cur;int i, size;vector<vector<int>> result;if(root ! NULL){que.push(ro…

Pycharm导入自定义模块报红

文章目录 Pycharm导入自定义模块报红1.问题描述2.解决办法 Pycharm导入自定义模块报红 1.问题描述 Pycharm 导入自定义模块报红&#xff0c;出现红色下划线。 2.解决办法 打开【File】->【Setting】->【Build,Execution,Deployment】->【Console】->【Python Con…

【前端--Vue】组件之间的多种通信方式,一文彻底搞懂组件通信!

本篇将重点讲解vue中的多种组件通信方式&#xff0c;包括【父传子】【子传父】【兄弟组件通信】【依赖注入】等等&#xff0c;并提供具体案例来让小伙伴们加深理解、彻底掌握&#xff01;喜欢的小伙伴们点赞收藏&#xff0c;持续关注哦~&#x1f495; &#x1f49f; 上一篇文章…

【前端】HTML基础(2)

文章目录 前言一、HTML常见标签1、 注释标签1.1 标题标签1.2 段落标签1.3 换行标签 2、 格式化标签2.1 加粗标签2.2 倾斜标签2.3 删除线标签2.4 下划线标签 3、 图片标签3.1 src属性3.2 alt属性3.3 title属性3.4 图片大小3.5 图片边框 4、 超链接标签4.1 属性4.2 属性 前言 这篇…

爆赞好文之java反序列化之CB超详细易懂分析

java反序列化之CB超详细易懂分析 CB1环境搭建前言分析PropertyUtilsBeanComparatorPriorityQueue CB2环境搭建前言exp CB1 环境搭建 pom.xml <dependencies><dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils&l…

QT:信号和槽

文章目录 信号和槽connect函数槽自定义槽第一种第二种 信号和槽 这里的信号和Linux的信号一样吗&#xff1f; 答案是差不多&#xff0c;但是也有一定的区别&#xff0c;而且也是两个不同的概念 信号有三个概念&#xff0c;一个是信号源&#xff0c;这个信号是由谁发送的&…
最新文章