numpy 笔记 pad

news2024/11/17 16:05:25

1 基本介绍

对原本的矩阵进行填充

numpy.pad(array, pad_width, mode='constant', **kwargs)
array待填充的矩阵
pad_width要填充的位置
mode填充方式

2 参数举例

2.0 使用的数据

import numpy as np
a=np.arange(12).reshape(3,4)
a
'''
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
'''

2.1 pad_width

先行后列

np.pad(a,((1,2)),'constant',constant_values=-1)
'''
array([[-1, -1, -1, -1, -1, -1, -1],
       [-1,  0,  1,  2,  3, -1, -1],
       [-1,  4,  5,  6,  7, -1, -1],
       [-1,  8,  9, 10, 11, -1, -1],
       [-1, -1, -1, -1, -1, -1, -1],
       [-1, -1, -1, -1, -1, -1, -1]])
'''
#左边和上面填充1格,右边和下面填充2格
np.pad(a,((1,2),(3,4)),
       'constant',constant_values=-1)
'''
array([[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1],
       [-1, -1, -1,  0,  1,  2,  3, -1, -1, -1, -1],
       [-1, -1, -1,  4,  5,  6,  7, -1, -1, -1, -1],
       [-1, -1, -1,  8,  9, 10, 11, -1, -1, -1, -1],
       [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1],
       [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]])
'''
#上一行下两行,左3行右4行

2.2 mode

2.2.1  constant

用常数填充,可用constant_values设置

np.pad(a,((1,2)),'constant',constant_values=-1)
'''
array([[-1, -1, -1, -1, -1, -1, -1],
       [-1,  0,  1,  2,  3, -1, -1],
       [-1,  4,  5,  6,  7, -1, -1],
       [-1,  8,  9, 10, 11, -1, -1],
       [-1, -1, -1, -1, -1, -1, -1],
       [-1, -1, -1, -1, -1, -1, -1]])
'''
#均填充一样的值
np.pad(a,((1,2)),'constant',constant_values=(3,4))
'''
array([[ 3,  3,  3,  3,  3,  4,  4],
       [ 3,  0,  1,  2,  3,  4,  4],
       [ 3,  4,  5,  6,  7,  4,  4],
       [ 3,  8,  9, 10, 11,  4,  4],
       [ 3,  4,  4,  4,  4,  4,  4],
       [ 3,  4,  4,  4,  4,  4,  4]])
'''

np.pad(a,((1,2),(3,4)),
       'constant',constant_values=(-1,-2))
'''
array([[-1, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2],
       [-1, -1, -1,  0,  1,  2,  3, -2, -2, -2, -2],
       [-1, -1, -1,  4,  5,  6,  7, -2, -2, -2, -2],
       [-1, -1, -1,  8,  9, 10, 11, -2, -2, -2, -2],
       [-1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2],
       [-1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2]])
'''
#上和左是第一个值,下和右是第二个值
#左下算左,右上算右
np.pad(a,((1,2),(3,4)),
       'constant',constant_values=((-1,-2),(-3,-4)))
'''
array([[-3, -3, -3, -1, -1, -1, -1, -4, -4, -4, -4],
       [-3, -3, -3,  0,  1,  2,  3, -4, -4, -4, -4],
       [-3, -3, -3,  4,  5,  6,  7, -4, -4, -4, -4],
       [-3, -3, -3,  8,  9, 10, 11, -4, -4, -4, -4],
       [-3, -3, -3, -2, -2, -2, -2, -4, -4, -4, -4],
       [-3, -3, -3, -2, -2, -2, -2, -4, -4, -4, -4]])
'''
#先行后列,行上1下2,列左3右4

2.2.2 edge

用边缘填充

np.pad(a,((1,2),(3,4)),
       'edge')

 2.2.3 linear_ramp

边缘递减,即取得是递减到0时的数

np.pad(a,((1,2),(3,4)),
       'linear_ramp')

 2.2.4 maximum

选取最大的进行填充,注意二维是先进行选择最大填充行(蓝),再选择最大填充列(绿)

np.pad(a,((1,2),(3,4)),
       'maximum')

 2.2.5 mean 均值

同样先行后列(向上取整)

np.pad(a,((1,2),(3,4)),
       'mean')

 2.2.6 median 中位数

同样先行后列(向上取整)

np.pad(a,((1,2),(3,4)),
       'median')

2.2.7 minmum 最小值

同样先行后列

np.pad(a,((1,2),(3,4)),
       'minimum')

 2.2.8 reflect 关于边缘值对称

np.pad(a,((1,2),(3,4)),
       'reflect')

 2.2.9 symmetric 赋值边缘值的对称

np.pad(a,((1,2),(3,4)),
       'symmetric')

 

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

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

相关文章

【分布式 】 ELK 企业级日志分析系统

目录 一、ELK概述1.1 ELK简介1.2 为什么要使用ELK1.3 完整日志系统基本特征1.4 ELK的工作原理 二、搭建ELK2.1 ELK Elasticsearch 集群部署(在Node1、Node2节点上操作)node1 操作node2 同node1操作 2.2 安装 Elasticsearch-head 插件ELK Logstash 部署&a…

作为一个测试工程师,你选择python还是java?

问:“你平时工作中,用java多还是用python多”? 答:“都还可以,根据具体的场景选择不同的语言”。 问:“比如说呢”? 答:“开发自己的测试平台,肯定会选择java&#xf…

Stable Diffusion - ControlNet 插件中扩展局部重绘 InpaintOnly + LaMa 的算法与应用

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/131643131 LaMa: https://github.com/advimman/lama Paper: Resolution-robust Large Mask Inpainting with Fourier Convolutions LaMa: Large…

ActiveMQ详细入门教程系列

一、什么是消息中间件 两个系统或两个客户端之间进行消息传送,利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。 消息中…

ABeam中国2023社招 | ABeam旗下德硕管理咨询(深圳)招贤纳士

岗位需求 SAP Basis顾问 岗位职责 ■ 参与公司的SAP售前项目,负责Basis相关工作的方案制定 ■ 参与公司既有SAP运维项目,负责Basis相关的课题对应,系统改善等 ■ 负责SAP系统的Basis实施,SAP产品系统安装、升级、迁移、数据归档…

spring-java面向切面拦截器

切面,就是可以在代码执行的时候,在它执行的前面添加一个东西,一般我们用来做登陆拦截器验证以及敏感词的过滤。 他就3个东西,指定切点(要执行的代码),before代码执行前面加东西。after代码后加东…

AC220V转负压5V芯片方案-220v转-5vic

AC220V到负压5V的电路转换 问题描述 --------- 如何将AC220V电压转换为负压5V输出,并且在输入电压范围为45V至265V的情况下工作?还要求该电路能够提供可调的电流范围,从100mA至2A。同时,所需的芯片为AH8699(在700mA以…

BaGet做了一个Nuget私有服务器,Nginx代理之后还是会请求被代理得地址

Nuget搭建和使用可以参考官网得文档 https://loic-sharma.github.io/BaGet/installation/docker/ 这是我用Nginx代理之后出现得问题,观察请求url和响应回来得配置。配置中得ip地址得url是我被代理得下游地址,所以是无法访问的。 我原本以为是要去server…

怎么扫描二维码看视频?视频转成二维码的技巧

通过扫码来查看视频,是现在很多人都会选择一种视频展现方式,那么怎么制作视频二维码呢?下面给大家分享一个在线二维码生成器,支持多种二维码制作(免费在线二维码生成器-二维码在线制作-音视频二维码在线生成工具-机智熊…

手机上有好用的时间管理工具吗?

在日常工作中,时间管理是非常重要的一项技能。这样做不仅可以更好地安排工作计划,还能有效减轻工作压力,减少时间的浪费,从而达到提高工作效率的目的。那么,随着手机的普及和智能化移动应用的不断涌现,我们…

【ARM Coresight 系列文章 4 - ARM Coresight APB-AP 介绍】

文章目录 APB-AP 介绍及使用APB-MuxROM TableROM Table entries bit 分配 APB-AP 介绍及使用 下图是一个 常见的DAP 结构图,其AP使用的是APB-AP。 图 1-1 SWJ-DP 通过监控电路选择外部串行总线SWD或者 外部JTAG;通过 DPACC中的select register 选着AP(…

润和软件HopeStage与易捷行云EasyStack ECF×86云基础设施平台完成产品兼容性互认证

近日,润和软件HopeStage操作系统与北京易捷思达科技发展有限公司(以下简称“易捷行云EasyStack”)ECF86云基础设施平台完成产品兼容性测试。 测试结果表明,企业级通用操作系统HopeStage V1.0产品与ECF86云基础设施平台可以顺利适…

MF31:VBA_在Excel中加入页码

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到…

电路分析基础学习(上)第5章

李瀚荪版电分第二版 目录 电容的定义 电容为什么能阻断直流 电容的储能计算公式 电感的定义 电阻与阻抗的区别 电感为什么在直流通路中起着短路的作用 电感的储能计算公式 ----------------------------------------------------------------------------------------…

SSMP整合案例(16) vue java联合实现分页条件查询 终结篇

那么 之后 我们就要处理按条件查询了 简单说 就是我们在分页时 条件也要一起带过去 其实 我们之前写的App组件中 他们已经被定义上了 我们看到App.vue的这个位置 我们用了 formData 其中对应了三个条件 然后 我们在 src的App组件下 找到 getPages 中定义data的部分 然后改成…

idea显示左下角service

展示效果: 解决方案: 1.点击左下角 这个按钮 2.点击蓝色英文,add services 3.找到众多模板中的springboot,点击即可

【C++】手把手教你模拟实现vector

vector模拟实现 前言正式开始三个成员变量无参构造析构push_back[ ]重载pop_backinserterase迭代器失效问题insert迭代器失效erase迭代器失效 深浅拷贝拷贝构造函数赋值运算符重载 n个val构造resizefront和backfrontback 前言 这篇写的是vector的模拟实现。 如果对于vector不…

TI系列——CC2340B1 Uniflash烧录指南

一、物料准备 1.1 硬件准备 1、XDS110-PLUS2.0或者TI LaunchPad: 图 1 XDS110-PLUS2.0中包含: XDS110调试器、USB-A to Type-C-B电缆、具有2x5 2.54mm连接器的10引脚扁平电缆、具有2x5 1.27mm连接器的10引脚扁平电缆、具体请看说明指南文档。 图 2 上…

【MyBatis-Plus】DML编程控制 代码生成器(文末赠书)

1,DML编程控制 查询相关的操作我们已经介绍完了,紧接着我们需要对另外三个,增删改进行内容的讲解。挨个来说明下,首先是新增(insert)中的内容。 1. id生成策略控制 前面我们在新增的时候留了一个问题,就是新增成功后…

ArcGIS问题解决——CAD中的字体加载到ArcMap显示乱码

ArcGIS问题解决——CAD中的字体加载到ArcMap显示乱码 CAD中的字体加载到ArcMap显示乱码,是因为字符集的问题,解决办法即修改注册表中默认字符集为简体中文字符集即可。 ①winR,输入regedit,回车 ②找到计算机\HKEY_CURRENT_USER\SOFTWARE\…