我需要将二维数组的元素分成一维数组的元素。IE。:
a = np.array([
[1, 2, 3],
[6, 9, 8],
[14, 3, 4],
[0, 1, 9]
])
b = np.array([
[1, 2, 3, 4]
])
有必要为数组的每个第一个元素划分每个第一i
个子数组的元素,即a
i
b
a[0] = a[0] / b[0]
a[1] = a[1] / b[1]
a[2] = a[2] / b[2]
a[3] = a[3] / b[3]
但没有枚举,没有循环,所以它是美丽的和numpy
evski
的确,尚不清楚为什么要
b
进行双重嵌套(如果是单一的,则将其删除[0]
)。但仍然是这样的:结果。
我认为在这里使用.reshape()方法会更好(更清晰) :
结果:
意义
matrix.reshape(-1, 1)
——我们改变矩阵的维度,得到一个一列的矩阵(第二个参数是1
),而行数(第一个参数是-1
)由 Numpy 自己计算。设置参数时,-1
将自动计算沿指定轴的元素个数。在这种情况下,行数将等于矩阵中的元素数matrix
。您只需要将数组转换为正确的除法形式,为此您需要转置(旋转)数组,这就
b
足够了:结论:
虽然能够使用切片和重塑数组当然很有用,但在这种情况下,了解转置就足够了
.T