Numpy repeat() 函数
Numpy repeat() 函数用于沿指定轴重复数组元素。该函数非常灵活,定义在 numpy 模块中。该函数可以按元素的重复次数进行重复,也可以按单个值重复所有元素的重复次数。
numpy.repeat() 函数沿指定轴重复数组元素。如果未指定轴,则在重复之前先展平数组。此函数通常用于数据扩展、重塑数组或为需要重复元素的操作准备数据。
语法
以下是 Numpy repeat() 函数的语法 -
numpy.repeat(array, repeats, axis=None)
参数
以下是 Numpy repeat() 函数的参数 -
- array - 需要重复元素的输入数组。
- repeats - 每个元素的重复次数。它可以是整数或整数数组。
- axis(可选) - 重复元素所沿的轴。如果为 None,则数组在重复之前会被展平。
返回值
此函数返回一个包含重复元素的新 Numpy 数组。
示例
以下是使用 Numpy repeat() 函数重复一维 NumPy 数组中每个元素的基本示例 -
import numpy as np my_Array = np.array([11, 22, 33, 44]) New_Array = np.repeat(my_Array, 3) print("原始数组:", my_Array) print("重复数组:", New_Array)
输出
原始数组:[11 22 33 44] 重复数组:[11 11 11 22 22 22 33 33 33 44 44 44]
示例 - 沿特定轴重复
在 numpy.repeat() 函数中,我们可以使用 axis 参数沿特定轴重复元素。
在以下示例中,通过在 numpy.repeat() 函数中将 axis 参数指定为 0,二维数组的元素沿行重复 -
import numpy as np my_Array = np.array([[10, 20], [30, 40]]) New_Array = np.repeat(my_Array, 2, axis=0) print("原始数组: ", my_Array) print("重复数组: ", New_Array)
输出
原始数组: [[10 20] [30 40]] 重复数组: [[10 20] [10 20] [30 40] [30 40]]
在以下示例中,通过在 numpy.repeat() 函数中将 axis 参数指定为 1,二维数组的元素沿列重复 -
import numpy as np arr = np.array([[1, 2], [3, 4]]) new_arr = np.repeat(arr, 2, axis=1) print("原始数组:\n", arr) print("重复数组:\n", new_arr)
输出
原始数组: [[1 2] [3 4]] 重复数组: [[1 1 2 2] [3 3 4 4]]
示例 - 使用数组进行重复
我们可以使用数组指定每个元素的重复次数。每个元素将在 repeats 数组的相应位置重复指定的次数 -
import numpy as np arr = np.array([10, 20, 30]) new_arr = np.repeat(arr, [1, 2, 3]) print("原始数组:", arr) print("重复数组:", new_arr)
输出
原始数组:[10 20 30] 重复数组:[10 20 20 30 30 30]
示例 - 展平重复
如果 axis如果 numpy.repeat() 函数中未指定参数,数组在重复之前会被展平 -
import numpy as np arr = np.array([[1, 2], [3, 4]]) new_arr = np.repeat(arr, 3) print("原始数组:\n", arr) print("重复数组:", new_arr)
输出
原始数组: [[1 2] [3 4]] 重复数组:[1 1 1 2 2 2 3 3 3 4 4 4]
示例 - 合并轴和重复
我们可以结合使用 axis 和 repeats,从而自定义沿特定轴重复元素 -
import numpy as np arr = np.array([[1, 2], [3, 4]]) new_arr = np.repeat(arr, [1, 2], axis=0) print("原始数组:\n", arr) print("重复数组:\n", new_arr)
输出
原始数组: [[1 2] [3 4]] 重复数组: [[1 2] [3 4] [3 4]]