假设我有一个数组:
print(arr1.shape)
(188621, 10)
在第n列中(对于本示例,假设为4),我想检查值何时大于阈值t。当第4列的第i个迭代高于阈值t时,我想创建arr1整个行的新列表(包含x个实例)。换句话说,当满足第4列中的条件时,它将从arr1中提取第i行。到目前为止,我有:
arr2 = []
for i in range(0,len(arr1)):
if arr1[i,4] > t:
arr2.append(arr1[i,:])
我也尝试过以下方法:
for i in range(0,len(arr1)):
if arr1[i,4] > t:
if len(arr2) == 0:
arr2 = arr1[i,:]
else:
arr2 = np.concatenate((arr2,arr1[i,:]))
但是,当满足条件时,两个实例似乎都以x * 10的一维形式增长,而不是(x,10)的2D列表增长。我在这里想念什么?
嗯,没那么难。
arr2 = arr1 [np.logical_not(arr1 [:,4]