np.tile()与np.repeat()比较

np.tile函数可以将一个数组沿指定的维度复制多次,生成一个更大的数组。

np.tile(arr, reps)的参数说明如下:

  • arr:需要重复的数组。
  • reps:指定每个维度上重复的次数,可以是一个整数,也可以是一个由整数组成的元组。如果reps是一个元组,则其长度必须与arr的维数相同。

下面是一个简单的示例,说明如何使用np.tile函数

import numpy as np

# 定义一个数组
a = np.array([[1, 2], [3, 4]])

# 沿行复制3次,沿列复制2次
b = np.tile(a, (3, 2))

print(b)

输出:

array([[1, 2, 1, 2],
       [3, 4, 3, 4],
       [1, 2, 1, 2],
       [3, 4, 3, 4],
       [1, 2, 1, 2],
       [3, 4, 3, 4]])

在这个示例中,我们定义了一个二维数组a,它被沿行方向复制了3次,沿列方向复制了2次,生成了一个新的6行4列的数组b

np.repeat() 是 NumPy 库中的一个函数,用于将给定的数组中的元素重复一定次数,生成一个新的数组。

np.repeat() 的语法如下:

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

其中,参数含义如下:

  • a:需要重复的数组。
  • repeats:表示每个元素需要重复的次数。可以是一个整数,也可以是一个数组,如果是一个数组,需要保证数组的形状与 a 相同。
  • axis:表示在哪个轴上进行重复,默认为 None,表示展开数组,然后在其中进行重复操作。

下面是一些使用 np.repeat() 的示例:

import numpy as np

# 重复整个数组
a = np.array([1, 2, 3])
b = np.repeat(a, 3)
print(b)  # 输出 [1 1 1 2 2 2 3 3 3]

# 在指定轴上重复数组
c = np.array([[1, 2], [3, 4]])
d = np.repeat(c, 2, axis=1)
print(d)  # 输出 [[1 1 2 2] [3 3 4 4]]

在第一个示例中,使用 np.repeat() 将数组 [1, 2, 3] 中的每个元素重复了 3 次,生成了一个新的数组。在第二个示例中,使用 np.repeat() 在第二个轴上重复了数组 [[1, 2], [3, 4]] 中的每个元素 2 次,生成了一个新的数组。

你可能感兴趣的:(numpy,python,机器学习,深度学习)