📅  最后修改于: 2023-12-03 15:04:33.768000             🧑  作者: Mango
在处理数组时,有时需要重复其中的元素以产生一个新数组,这时可以使用 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()
方法。