python中repeat函数用法

np.repeat 是 NumPy 库中的一个函数,用于沿着指定的轴重复数组的元素。这个函数非常灵活,可以用于各种数据形状,包括一维数组、二维数组以及更高维度的数组。

基本用法

import numpy as np

# 创建一个一维数组
arr = np.array([1, 2, 3])

# 使用 np.repeat 重复数组元素
# 这里的 repeats 参数指定了每个元素应该被重复的次数
repeated_arr = np.repeat(arr, [1, 2, 3])

print(repeated_arr)

输出:

[1 2 2 3 3 3]

在这个例子中,数组 [1, 2, 3] 中的元素 1 被重复了 1 次,2 被重复了 2 次,3 被重复了 3 次。

沿指定轴重复

当处理多维数组时,你可以指定一个轴来重复元素。

# 创建一个二维数组
arr_2d = np.array([[1, 2], [3, 4]])

# 沿着第一个轴(行)重复元素
# 这里 axis=0 表示沿着行方向,即每一行都会被重复指定的次数
repeated_arr_2d_axis0 = np.repeat(arr_2d, [2, 1], axis=0)

print(repeated_arr_2d_axis0)

输出:

[[1 2]
 [1 2]
 [3 4]]

在这个例子中,二维数组的第一行被重复了 2 次,第二行被重复了 1 次。

如果你沿着第二个轴(列)重复元素,结果会是这样的:

# 沿着第二个轴(列)重复元素
# 这里 axis=1 表示沿着列方向,即每一列都会被重复指定的次数
repeated_arr_2d_axis1 = np.repeat(arr_2d, [2, 1], axis=1)

print(repeated_arr_2d_axis1)

输出:

[[1 1 2]
 [3 3 4]]

在这个例子中,二维数组的第一列(实际上是每行的第一个元素)被重复了 2 次(但实际上看起来像是每行的前两个元素都是原来的第一个元素,因为它们是连续的),第二列被重复了 1 次(但实际上没有变化,因为已经是最后一次了,这里的 1 主要是指示不改变该列的重复次数)。不过,更常见的做法是指定每个元素在其所在列中的重复次数,比如 [1, 2] 会使得第一列的元素不重复,第二列的元素重复一次。

注意事项

  • repeats 参数可以是一个整数,也可以是一个与数组相应维度长度相同的数组。如果是一个整数,那么数组中的每个元素都会被重复这么多次。如果是一个数组,那么每个元素会被重复对应位置上的次数。
  • axis 参数指定了沿着哪个轴进行重复。对于一维数组,这个参数可以忽略(或者设置为 None,但实际效果与省略相同),因为只有一个方向可以重复。对于多维数组,必须明确指定轴。
  • 如果 axis 参数的值超出了数组的维度范围,会引发 AxisError
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浩瀚之水_csdn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值