Python 如何查找至少包含一个负元素的列?
在Python中,对于数组,如何找到至少包含一个负元素的列?此外,如何找到至少包含一个负值的行的中位数? 假设这是我们的阵列:Python 如何查找至少包含一个负元素的列?,python,arrays,function,numpy,Python,Arrays,Function,Numpy,在Python中,对于数组,如何找到至少包含一个负元素的列?此外,如何找到至少包含一个负值的行的中位数? 假设这是我们的阵列: import numpy as np a = np.array([[1,2,0,-4],[-3,4,-4,1],[3,6,2,9]]) 提前感谢。>(a>>np.中位数(a[:,(a>>np.中位数(a[:,(a>>np.中位数(a[(a(a>>np.中位数(a[:,(a>>np.中位数(a[:,(a>>np.中位数(a[(a
import numpy as np
a = np.array([[1,2,0,-4],[-3,4,-4,1],[3,6,2,9]])
提前感谢。>(a<0)。任何(axis=0)
>>> (a < 0).any(axis=0)
array([ True, False, True, True])
# Columns.
>>> np.median(a[:, (a < 0).any(axis=0)], axis=0)
array([1., 0., 1.])
# Rows.
>>> np.median(a[:, (a < 0).any(axis=0)], axis==1)
array([ 0., -3., 3.])
# Median of rows where row contains at least one negative value.
>>> np.median(a[(a < 0).any(axis=1), :], axis=1)
array([ 0.5, -1. ])
数组([True,False,True,True])
#列。
>>>np.中位数(a[:,(a<0).任意(轴=0)],轴=0)
数组([1,0,1.]))
#排。
>>>np.中位数(a[:,(a<0).任意(轴=0)],轴=1)
数组([0.,-3.,3.]))
#行至少包含一个负值的行的中位数。
>>>np.中位数(a[(a<0).任何(轴=1),:],轴=1)
数组([0.5,-1.]))
>(a<0)。任意(轴=0)
数组([True,False,True,True])
#列。
>>>np.中位数(a[:,(a<0).任意(轴=0)],轴=0)
数组([1,0,1.]))
#排。
>>>np.中位数(a[:,(a<0).任意(轴=0)],轴=1)
数组([0.,-3.,3.]))
#行至少包含一个负值的行的中位数。
>>>np.中位数(a[(a<0).任何(轴=1),:],轴=1)
数组([0.5,-1.]))
我想OP正在做作业。向他展示快捷方式还是老派的方式是明智的?a[:,bool_filter]
::
意味着从a
中选择所有行,bool_filter
是一个布尔值数组,指示要选择的列。在这种情况下,(a<0)。对于包含负值的任何列(axis=0
),any(axis=0)
表示True
,否则False
。此外,通常axis=0表示行,axis=1表示列。这就是为什么它是相反的?或者我认为OP是在做作业。向他展示快捷方式还是老派的方式是明智的?a[:,bool_filter]
::
意味着从a
中选择所有行,bool_filter
是一个布尔值数组,指示要选择的列。在这种情况下,(a<0)。对于包含负值的任何列(axis=0
),any(axis=0)
表示True
,否则False
。此外,通常axis=0表示行,axis=1表示列。这就是为什么它是相反的?或