繁体   English   中英

带有numpy的2D数组

[英]2D array with numpy

我编写了以下代码来创建2D数组并归档每行的第一个元素。 我是numpy的新手。 有一个更好的方法吗?

y=np.zeros(N*T1).reshape(N,T1)
x = np.linspace(0,L,num = N)

for k in range(0,N):
    y[k][0] = np.sin(PI*x[k]/L)

是的,由于numpy操作进行向量化,因此您可以执行以下操作:

y[:,0] = np.sin(np.pi * x / L)

需要注意的是y[:,0]抓住的第一列y (的:在第一坐标基本上是指“抢所有行”,“在索引0处从塔”,并且在第二坐标装置0(即,第一列))。 由于np.sin(np.pi * x / L)也是一个数组,因此可以将后者直接分配给前者。

这个问题是针对codereview @ stackexchange的,但是此片段有效!

import numpy as np

N = 1000 # arbitrary
T1 = 1000 # arbitrary
L = 10 # arbitrary

x = np.linspace(0,L,num = N)

# you don't need reshape here, give the size as a tuple!
y = np.zeros((N,T1)) 

# use a vectorized call here:
y[:,0] = np.sin(np.pi*x/L)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM