用于矩阵修改的python双循环

2024-06-02 04:30:52 发布

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

我必须用[a,b,c]这样的形状在数据中执行双重迭代。这是我写的代码,但是我得到的结果不是我需要的格式类型。循环中的dati是输入数据。 在我的例子中a = 512(使用mroi_i,mroi_f减少)

frame_corr=[]
dati_corr=[]
for i in range(0,c):
    f = dati[mroi_i:mroi_f,:,i]  # matrix with dimension [mroi_i,mroi_f,b]
    for j in range(0,b):
        s = f[:,j]
        s_corr = (s-d_mean)/(w_mean-d_mean) #i have to normalize the vector s
        frame_corr.append(s_corr)  # i have to rebuild the matrif f
    dati_corr.append(frame_corr) # i have to rebuild the original data 

我从循环中得到的结果是一组新的数据,dati,大小为C,由C[Numpy数组]组成。 实际上,我的目标是获得一组与原始数据形状相同的新数据


Tags: theto数据inforhaverangemean
1条回答
网友
1楼 · 发布于 2024-06-02 04:30:52

我使用这种循环形式找到了解决方案

frame_corr=np.zeros((a,b)) # First i define empty matrix
dati_corr=np.zeros((a,b,c))
for i in range(0,c):
    for j in range(0,b):
        f = dati[mroi_i:mroi_f,:,i]
        s = f[:,j]
        s_corr = (s-d_mean)/(w_mean-d_mean)
        frame_corr[:,j]=s_corr
    dati_corr[:,:,i]=frame_corr

使用这个双循环,我能够获得相同形状的起始数据,但是数据被规范化了

相关问题 更多 >