将2D数组复制到3D one Python/NumPy

2024-09-28 16:58:18 发布

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

我年轻的时候做过一些编程,但我从来都不是很好。我发现Python非常适合我想做的事情。在

我有一个Excel文件,其中包含使用numpygenfromtxt函数读取的数据(64列,18496行)。我想把所有的东西放在一个名为H的3D矩阵中,我用了三个循环,但我知道这不是最有效的。在

data = np.genfromtxt(filename, delimiter = ";",skiprows = 11) 
H = np.zeros((N,N,Nt))

for k in np.arange(N):
    for l in np.arange(N):            
        for m in np.arange(Nt):    
            H[k,l,m] = data[m+Nt*k,l]

有没有一个切割器(更快的计算智慧)这样做。我想用纽比的形状,但我做不到。在

谢谢


Tags: 文件数据函数infordata编程np
1条回答
网友
1楼 · 发布于 2024-09-28 16:58:18

您可以使用^{}&;重新排列具有^{}的尺寸,如-

H = data.reshape(N,Nt,N).transpose(0,2,1)

我们可以使用^{}来代替^{cd2>},因为我们基本上是在那里交换^{{cd5>},就像这样-

^{pr2}$

示例运行-

^{pr3}$

运行时测试-

^{pr4}$

相关问题 更多 >