我有一个(8864,40)数组A,包含负值和正值。我想用数组A的最大值除以数组A的正值,用数组A的最小值除以数组A的负值。是否可以在保持数组A的形状的情况下做到这一点?如有任何帮助,我们将不胜感激。
rqcrx0a61#
请参见下面的剪辑
A[A > 0] /= np.max(A) A[A < 0] /= np.min(A)
qij5mzcb2#
这个?
np.where(A > 0, A/A.max(), A/A.min())
7cwmlq893#
如果是列表,则可以使用列表解析,例如
x = [-2, 1, 3, 0, -4, -1, 0, 5, 2] y = [i / max(x) if i > 0 else i / abs(min(x)) for i in x] print(x) print(y)
产生
[-2, 1, 3, 0, -4, -1, 0, 5, 2] [-0.5, 0.2, 0.6, 0.0, -1.0, -0.25, 0.0, 1.0, 0.4]
其中数字-或+的符号是守恒的。如果不使用abs(),则只能得到正值。我不太明白这句话有没有可能做到这一点,同时还保持阵列A的形状?形状的任何变化都意味着符号?
-
+
abs()
3条答案
按热度按时间rqcrx0a61#
请参见下面的剪辑
qij5mzcb2#
这个?
7cwmlq893#
如果是列表,则可以使用列表解析,例如
产生
其中数字
-
或+
的符号是守恒的。如果不使用abs()
,则只能得到正值。我不太明白这句话
有没有可能做到这一点,同时还保持阵列A的形状?
形状的任何变化都意味着符号?