📜  Python中的 numpy.repeat()(1)

📅  最后修改于: 2023-12-03 15:04:33.768000             🧑  作者: Mango

Python中的 numpy.repeat()

在处理数组时,有时需要重复其中的元素以产生一个新数组,这时可以使用 numpy.repeat() 方法。numpy.repeat() 可以在沿着给定轴复制元素时更灵活,同时也支持指定重复每个元素的次数。

基本用法

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

  • a: 被复制的数组。
  • repeats: 数组中每个元素在输出数组中重复的次数,是一个整数或数组。
  • axis: 沿着该轴进行 action,指定了在哪个方向复制,如果没有给出,输入数组会被展开。

下面是一个简单的例子,展示了 numpy.repeat() 的基本用法:

import numpy as np

arr = np.array([1, 2, 3])
print(np.repeat(arr, 3))
# 输出: [1 1 1 2 2 2 3 3 3]
沿着特定轴重复

如果要沿着特定轴复制某些元素,可以指定 axis 参数:

import numpy as np

arr = np.array([[1, 2], [3, 4]])
print(np.repeat(arr, 2, axis=0))
# 输出: 
# [[1 2]
#  [1 2]
#  [3 4]
#  [3 4]]

print(np.repeat(arr, 2, axis=1))
# 输出: 
# [[1 1 2 2]
#  [3 3 4 4]]
重复数组与特定数量

如果要将一组数组重复特定次数,可以使用 np.tile() 方法:

import numpy as np

arr = np.array([[1, 2], [3, 4]])
print(np.tile(arr, (2, 3)))
# 输出: 
# [[1 2 1 2 1 2]
#  [3 4 3 4 3 4]
#  [1 2 1 2 1 2]
#  [3 4 3 4 3 4]]
小结

numpy.repeat() 可以在沿着给定轴复制元素时更灵活,同时也支持指定重复每个元素的次数。通过指定 axis 参数,可以在指定轴上进行重复。如果需要重复多个数组,可以使用 np.tile() 方法。