Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中从数组中提取正值和负值_Python_Arrays_Python 3.x_Numpy - Fatal编程技术网

在Python中从数组中提取正值和负值

在Python中从数组中提取正值和负值,python,arrays,python-3.x,numpy,Python,Arrays,Python 3.x,Numpy,我有一个名为A的数组: A = np.array([[-1, 2, -3], [4, -5, 6], [-7, 8, -9]]) 现在,我想提取正负部分,并将它们保存在两个新数组中,如: B = np.array([[0, 2, 0], [4, 0, 6], [0, 8, 0]]) 积极的部分和 C = np.array([[-1, 0, -3], [0

我有一个名为
A
的数组:

A = np.array([[-1, 2, -3],
              [4, -5, 6],
              [-7, 8, -9]])
现在,我想提取正负部分,并将它们保存在两个新数组中,如:

B = np.array([[0, 2, 0],
              [4, 0, 6],
              [0, 8, 0]])
积极的部分和

C = np.array([[-1, 0, -3],
              [0, -5, 0],
              [-7, 0, -9]])
对于负片部分

请您指导我如何从Python 3.6中的数组
A
获取数组
B
C
使用两个s替换零以下和零以上的值:

>>> import numpy as np
>>> A = np.array([[-1, 2, -3], [4, -5, 6], [-7, 8, -9]])
>>> B = np.where(A > 0, A, 0)
>>> C = np.where(A < 0, A, 0)
>>> B
array([[0, 2, 0],
       [4, 0, 6],
       [0, 8, 0]])
>>> C
array([[-1,  0, -3],
       [ 0, -5,  0],
       [-7,  0, -9]])
然后
np。其中
将创建一个新数组,如果第一个参数(
a>0
)中的元素是
True
并从第三个参数
0
中获取元素,以防它是
False

可能的重复
>>> Ag0_bc, B_bc, zero_bc = np.broadcast_arrays(A > 0, A, 0)
>>> Ag0_bc
array([[False,  True, False],
       [ True, False,  True],
       [False,  True, False]], dtype=bool)
>>> zero_bc
array([[0, 0, 0],
       [0, 0, 0],
       [0, 0, 0]])