【发布时间】:2020-06-11 16:40:13
【问题描述】:
假设我有一个数组:
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) 的二维列表。我在这里错过了什么?
【问题讨论】:
标签: python append concatenation