首页 > 解决方案 > 将函数应用于形状为 (28000,2304) 的每一行数组

问题描述

我有一个形状数组(28000、2304)。以下代码是我希望应用于每一行的代码,然后将返回一个最终数组,其大小为 (28000, 5625)

image_array = X_train[0]
img = image_array.reshape(48,48)
resized_width = 75
resized_height = 75
dimension = (resized_width, resized_height)

resized = cv2.resize(img, dimension, interpolation = cv2.INTER_CUBIC)
image_array = resized.flatten()

X_train 是我的形状数组(28000、2304)。X_train[0] 将是 28000 数组中的第一行。上面的代码在展平调整大小的图像数组后返回一个长度为 (5625) 的向量。所以我想将上述代码应用于所有 28000 行,而不仅仅是 X_train[0]。我将如何遍历或循环 X_train 并应用此代码以获得最终的形状数组(28000、5625)。谢谢。

标签: pythonnumpyfor-loopmultidimensional-arrayiteration

解决方案


应该只是跨所有行的简单 for 循环,将值附加到结果数组将产生 28000 行,每行包含您的image_array元素

result = []
for image_row in X_train:
    image_array = image_row
    img = image_array.reshape(48,48)
    resized_width = 75
    resized_height = 75
    dimension = (resized_width, resized_height)

    resized = cv2.resize(img, dimension, interpolation = cv2.INTER_CUBIC)
    image_array = resized.flatten()
    result.append(image_array)

推荐阅读