【发布时间】:2021-07-30 05:03:30
【问题描述】:
给定一个包含多个数组的 numpy 数组,如何将数组的所有值替换为另一个数组中的值?
例如:
import numpy
first_array = numpy.array([[1,2],[3,4],[5,6],[7,8],[9,10]])
second_array = numpy.array([0.1, 0.2, 0.3, 0.4, 0.5, 0.6,
0.7, 0.8, 0.9, 1])
鉴于这些数组,如何将 1,2 替换为 0.1、0.2 等?
【问题讨论】:
-
first_array = second_array.reshape((5,2))是最简单的方法。只要元素总数相同,reshape就行了。 -
告诉您如何进行替换的规则是什么?在这种情况下,确切的期望结果是什么,它与直接使用
second_array有何不同? -
@TimRoberts 使用
first_array.shape可能比硬编码(5,2)更好。 [编辑:我现在看到已经发布了一个答案,正是这样做的。] -
first_arraydtype 是int,所以你不能在里面放浮点数。无论如何,重塑第二个数组更有效。