如何通过forloop将值附加到数组

2024-10-03 21:26:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有三套np数组。两个是我的数据集(U和t),第三个是每个数据点的数量(iarray)。我试图创建三个新数组:一个包含某个间隔内的(U)值。第二个包含归因于(U)值的(t)值。第三个包含原始数组中这些值的数量(U和t的值应该相同)

对于新的U和t,我得到两个大小不同的数组,我的整数数组只包含一个值

所有的尺寸都应该相同

我试图设置一系列for循环,检查U的值是否在某个间隔内。然后检查t中的值是否接近添加到新t阵列的最后一个点。如果一切正常,它应该将原始数组中具有相同整数的值附加到新数组中的相同位置

带数据的数组和数字数组

t = a[:,0]
U = a[:,1]
iarray=np.array(range(len(t)))

代码的核心

tpeak = np. array([])
Upeak = np. array([])
b=np.array([])

for i in range(len(t)):
    if (np.size(b)==0) and 0.9<U[i]and U[i]<4 :
        tpeak=np.append(tpeak,t[i])

for i in range(len(t)):
    if (np.size(b)==0) and 0.9<U[i]and U[i]<4 :
       Upeak=np.append(Upeak,U[i])

for i in range(len(t)):
    if (np.size(b)==0) and 0.9<U[i]and U[i]<4 :
       b=np.append(b,iarray[i])

for i in range(len(t)):
    if U[i]>1 and U[i]<4  and 0.8<tpeak[-1]-t[i] : 
        tpeak=np.append(tpeak,t[i])

for i in range(len(t)):
    if U[i]>1 and U[i]<4  and 0.8<tpeak[-1]-t[i] :
        Upeak=np.append(Upeak,U[i])


for i in range(len(t)):
    if U[i]>1 and U[i]<4  and 0.8<tpeak[-1]-t[i] : 
        b=np.append(b,iarray[i])

如前所述,我希望输出为三个相同大小的阵列(Upeak、tpeak和b),但U peak比tpeak小1,ipeak只包含一个值


Tags: and数据inforsizelenifnp