【数据分析之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次

python 复制代码
import numpy as np

a = np.array([1,2,3])

b = np.repeat(a, 3)

print(b)

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

python 复制代码
a = np.array([[1,2,3], [4,5,6]])

b = np.repeat(a, 3, axis=0)

print(b)

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

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

python 复制代码
a = np.array([[1,2,3], [4,5,6]])

b = np.repeat(a, 3, axis=1)

print(b)

2、numpy.tile(A)

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

python 复制代码
import numpy as np

a = np.array([1,2,3])

b = np.tile(a, 3)

print(b)

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

1)a为一维数组

python 复制代码
a = np.array([1,2,3])

b = np.tile(a, (2, 3))

print(b) # 数组维度改变

2)a为多维数组

python 复制代码
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()则可以进行原地操作。

相关推荐
计算机毕业编程指导师3 小时前
【计算机毕设推荐】Python+Hadoop+Spark共享单车数据可视化分析系统 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘
大数据·hadoop·python·计算机·数据挖掘·spark·课程设计
计算机毕业编程指导师3 小时前
【计算机毕设】基于Hadoop的共享单车订单数据分析系统+Python+Django全栈开发 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘
大数据·hadoop·python·计算机·数据挖掘·spark·django
小白学大数据7 小时前
抖音搜索页数据批量爬取,多关键词同步采集实现
爬虫·python·数据分析
西贝爱学习7 小时前
智能手机规格与价格数据集
数据分析·数据集
夜郎king8 小时前
水力模型 INP 文件如何导入 QGIS?超详细实操教程
人工智能·数据挖掘·水力模型·qgis水力制图
计算机毕业编程指导师8 小时前
基于Spark的性格行为数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘
大数据·python·数据挖掘·数据分析·spark·毕业设计·性格行为
QDYOKR16810 小时前
OKR管理系统怎么选?2026主流OKR工具深度解析
大数据·人工智能·信息可视化·数据挖掘·数据分析
2601_9549711311 小时前
经济学专业考CDA数据分析师证书值不值?对求职帮助到底有多大
数据挖掘
PaperData1 天前
1988-2025年《中国人口和就业统计年鉴》全年份excel+PDF
数据库·人工智能·数据分析·经管
小王毕业啦1 天前
(1990-2024年)个股交易活跃度、个股换手率
大数据·人工智能·数据挖掘·数据分析·区块链·社科数据