如果满足条件,Python将2D数组连接到新列表
假设我有一个数组:如果满足条件,Python将2D数组连接到新列表,python,append,concatenation,Python,Append,Concatenation,假设我有一个数组: 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,:]) 我还尝试了以下
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)列表的形式增长。我在这里错过了什么?嗯,这并不难 arr2=arr1[np.逻辑(arr1[:,4]