2024-10-05 13:11:15 发布
网友
这个代码有什么问题:
将numpy作为np导入
A = np.array([[-0.5, 0.2, 0.0], [4.2, 3.14, -2.7]]) asign = lambda t: 0 if t<0 else 1 asign(A) print(A)
预期输出:
ValueError:具有多个元素的数组的真值不明确。使用a.any()或a.all()
嗯,lambda本身不会穿过整个阵列。为此,你需要一个高阶函数。在本例中:map。在
A = np.array([[-0.5, 0.2, 0.0], [4.2, 3.14, -2.7]]) asign = lambda t: 0 if t<0 else 1 A = list(map(asign, A))
Map将遍历每个元素并通过函数传递。 我将map包装在一个列表中,因为它返回一个filter类型的对象,但是您可以这样转换它。在
您可以使用lambda,但是numpy数据类型允许您执行许多“matlab type”操作(对于那些习惯于此的人):
numpy
Python:
a = np.array([1, 2, 3, 4, 5]) ((a > 1) & (a < 3)).astype(int) # array([0, 1, 0, 0, 0])
倍频程/matlab
这对我很有效:
A = A.clip(min=0, max=1)
嗯,lambda本身不会穿过整个阵列。为此,你需要一个高阶函数。在本例中:map。在
Map将遍历每个元素并通过函数传递。 我将map包装在一个列表中,因为它返回一个filter类型的对象,但是您可以这样转换它。在
您可以使用lambda,但是
numpy
数据类型允许您执行许多“matlab type”操作(对于那些习惯于此的人):Python:
倍频程/matlab
^{2美元这对我很有效:
相关问题 更多 >
编程相关推荐