簡體   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