【数据分析之Numpy】Numpy中复制函数numpy.repeat()与numpy.tile()的使用方法及区别

一、简介

        numpy.repeat()与numpy.tile()都是Numpy库中的复制函数,用于将数组中的元素重复指定的次数。

        numpy.repeat()函数接受三个参数:要重复的数组重复的次数重复的轴

        numpy.tile()函数接受两个参数:要重复的数组重复的次数。

二、基本语法

1、numpy.repeat(a, repeats, axis=None)

        a为带操作的数组

        repeats为复制的次数

        axis为重复操作会沿着哪个轴进行, axis=0表示沿着行方向, axis=1表示沿着列方向。

2、numpy.tile(A, reps)

        A为带操作的数组

        reps是一个元组,指定了每个维度上的重复次数。

三、使用方法

        1、numpy.repeat()

        (1). 将数组中的每个元素重复3次

import numpy as npa = np.array([1,2,3])b = np.repeat(a, 3)print(b)

        (2). 将数组中的每个元素沿行方向每一行重复3次

a = np.array([[1,2,3], [4,5,6]])b = np.repeat(a, 3, axis=0)print(b)

注意:如果这里a是一维数组,那axis只能为0

        (3). 将数组中的每个元素沿列方向每一列重复3次

a = np.array([[1,2,3], [4,5,6]])b = np.repeat(a, 3, axis=1)print(b)

        2、numpy.tile(A)

        (1). 将数组中的每个元素重复3次

import numpy as npa = np.array([1,2,3])b = np.tile(a, 3)print(b)

        (2). 将数组中的每个元素沿沿着第一个轴重复2次,沿着第二个轴重复3次,

        1)a为一维数组

a = np.array([1,2,3])b = np.tile(a, (2, 3))print(b) # 数组维度改变

        2)a为多维数组

a = np.array([[1,2,3], [4,5,6]])b = np.tile(a, (2, 3))print(b)

四、区别

        np.repeat()和np.tile()在功能上有些相似,但它们之间存在一些重要的区别。

        1、行为上

        对于一维数组,np.repeat()会重复数组中的元素,而np.tile()则会复制整个数组。这意味着np.repeat()仅在数组的每个元素上应用重复操作,而np.tile()则在整个数组上应用复制操作。

        对于非一维数组,np.repeat()仅在最后一个轴上重复,而np.tile()会在所有轴上复制数组。

        2、性能上

        对于大数组,np.tile()通常比np.repeat()更快,因为它可以更有效地利用缓存。

        np.repeat()不会预先分配输出数组的内存,而是在运行时动态地创建输出数组。

        np.tile()会预先分配输出数组的内存

        3、参数

        np.repeat()三个参数:要重复的数组、重复的次数和它沿着数组的哪个轴重复元素。

        np.tile()两个参数(可以看为三个参数):要复制的数组和复制的次数(它沿着所有轴复制数组)。

        4、原地操作

        np.repeat()不会原地操作(即不会更改原始数组),而np.tile()则可以进行原地操作。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Github 2023-12-18 开源项目周报 Top14

根据Github Trendings的统计,本周(2023-12-18统计)共有14个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量TypeScript项目4Python项目4Jupyter Notebook项目3非开发语言项目1JavaScript项目1Rust项目1Go项目1 基于项目…

自然语言处理阅读第二弹

HuggingFace 镜像网站模型库 NLP中的自回归模型和自编码模型 自回归:根据上文内容预测下一个可能的单词,或者根据下文预测上一个可能的单词。只能利用上文或者下文的信息,不能同时利用上文和下文的信息。自编码:对输入的句子随…

MyBatis的查询方法!!!

准备工作:1.创建一个maven工程,然后将pojo类导入到项目中去。 2.导入依赖到pom.xml文件中 3.在resources中创建log4j.properites和mybatis-config.xml 4.创建UserMapper接口和UserMapper.xml文件 5.创建测试类MyBatisTest 1.创建Maven工程,还…

Windows 安装RocketMQ

1.rocketmq下载 https://archive.apache.org/dist/rocketmq/5.1.4/ 2.环境准备 64位JDK 1.8; Maven 3.2.x; 64位操作系统系统,本文档在Windows上安装 3.解压到一个无中文无空格的目录下,解压后目录如下: 配置环境变量 4.更改配置 java的…

2018年第七届数学建模国际赛小美赛B题世界杯足球赛的赛制安排解题全过程文档及程序

2018年第七届数学建模国际赛小美赛 B题 世界杯足球赛的赛制安排 原题再现: 有32支球队参加国际足联世界杯决赛阶段的比赛。但从2026年开始,球队的数量将增加到48支。由于时间有限,一支球队不能打太多比赛。因此,国际足联提议改变…

SpringBoot Whitelabel Error Page 报错--【已解决】

springboot 报错信息如下 这个报错页面就是个404 ,代表你访问的url 没有对应的的requestmapping 其实没啥影响的一个问题,但是看到Error 就是不爽,改了他丫的 解决方法如下 一、调整application.properties配置【治标不治本】 server.err…

HIVE窗口函数

什么是窗口函数 hive中开窗函数通过over关键字声明;窗口函数,准确地说,函数在窗口中的应用;比如sum函数不仅可在group by后聚合,在可在窗口中应用; hive中groupby算子和开窗over,shuffle的逻辑…

Cockpit upload文件上传漏洞(CVE-2023-1313)

0x01 产品简介 Cockpit 是一个自托管、灵活且用户友好的无头内容平台,用于创建自定义数字体验。 0x02 漏洞概述 Cockpit assetsmanager/upload接口处存在文件上传漏洞,攻击者可通过该漏洞在服务器端任意上传代码,写入后门,获取服务器权限,进而控制整个web服务器。 0x0…

深入理解 hash 和 history:网页导航的基础(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

Linux 特殊符号

目录 1. # 注释 2. ;命令分隔符 3. .. 上级目录 4. . 当前目录 5. " " 换行,解析变量 6. 换行,不解析变量 7. \ 和 / 8. !历史命令调用,取反 9. * 通配符 10. $ 调用变量 11. | 管道 12. || …

亿发零售云引领新零售时代:智能收银系统助力连锁门店多业态发展

近来,越来越多零售从业者认识到,线上和线下全渠道整合将成为国内消费市场的主要趋势。在这个趋势中,线下门店仍然被视为品牌发展的重要价值来源。 在连锁门店中,收银系统被认为是运营管理的关键工具,能够为品牌门店提供…

MySQL数据库 DDL

目录 一、DDL 二、操作数据库 三、操作表 四、数据类型 五、表操作案例 六、修改表 七、删除表 一、DDL Data Definition Language,数据定义语言,用来定义数据库对象(数据库,表,字段) 。 二、操作数据库 (1&am…

ControlNet Adding Conditional Control to Text-to-Image Diffusion Models

ControlNet: Adding Conditional Control to Text-to-Image Diffusion Models TL; DR:ControlNet 使得我们能通过输入额外的条件图(如 Canny 边缘、人体姿态、深度图等),对 SD 生成结果的空间位置有更准确的控制。它拷贝 SD 部分…

基于Springboot的旅游网站设计与实现(论文+调试+源码)

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

Golang清晰代码指南

发挥易读和易维护软件的好处 - 第一部分 嗨,开发者们,清晰的代码是指编写易于阅读、理解和维护的软件代码。它是遵循一组原则和实践,优先考虑清晰性、简单性和一致性的代码。清晰的代码旨在使代码库更易管理,减少引入错误的可能性…

【老牌期刊】IF:6+,2天预审,3-5个月录用!

期刊简介 1区计算机智能类SCI 【期刊概况】IF:6.0-7.0,JCR1区,中科院2区; 【终审周期】走期刊部系统,3个月左右录用; 【检索情况】SCI检索; 【WOS收录年份】2018年; 【自引率】…

记录一下github深度学习的错误

1.[visdom]无法正常启动服务问题解决 在Anaconda命令窗口中: 使用python -m visdom.server启动visdom服务时,卡在: Checking for scripts. Downloading scripts, this may take a little while 无法下载和启动服务。 ERROR:由…

如何将门脸图片文字识别为excel表格数据?

对于市场调查人员而言,最烦的事莫过于对路边的小店进行逐一记录了,有没有效率高点的办法,不用人工录入呢?我来告诉你一个秘密:先将小店的牌子(门脸)拍下来,然后用OCR软件批量转成exc…

【数据结构】模式匹配之KMP算法与Bug日志—C/C++实现

​🌈个人主页:Sarapines Programmer🔥 系列专栏:《数据结构奇遇记》🔖墨香寄清辞:墨痕寄壮志,星辰梦未满。 通幽径心凝意,剑指苍穹势如山。 目录 🌞1. 模式匹配的基本概念…

Ubuntu 常用命令之 sed 命令用法介绍

sed是一个在Linux和其他Unix-like系统中常用的流编辑器,用于对输入流(文件或管道)进行基本的文本转换。它可以非常方便地进行文本替换、插入、删除等操作。 sed命令的基本格式为 sed [options] command file(s)其中,常用的参数有…