[問題] 利用迴圈方式,將每一筆資料存入陣列

作者: popo14777 (草草)   2017-05-18 21:59:43
各位大大好
小弟想問利用迴圈的方式,把運算的資料存入一個陣列,且陣列要numpy array的格式
範例如下
import numpy as np
y=[]
x=[3.5, 8.2, 5.4, 2.3, 4.7]
for i in range(0,len(x)):
y+=[3+2*x[i]]
但我的y是list,並不是我要的numpy array格式
後面在輸入以下這一行指令,終於變成我要的numpy array格式
y = np.reshape(y,(len(y),1))
想請問有沒有其它方法,可以像Matlab語法一樣,只利用一行就可以解決的?
Matlab範例如下
x=[3.5, 8.2, 5.4, 2.3, 4.7]
for i=1:length(x)
y(i,1)=3+2*x(i);
end
以上是小弟的問題,謝謝。
作者: uranusjr (←這人是超級笨蛋)   2017-05-18 22:10:00
y = np.empty([len(x), 1])for loop 裡面 y[i] = np.array([3 + 2 * x[i]])啊 y[i, 0] = 3 + 2 * x[i] 比較符合你的 Matlab 版語意
作者: hsnuyi (羊咩咩~)   2017-05-19 01:55:00
MATLAB寫成 y(:,1)=3+2*x' 就好了吧...
作者: ZolaEmile (Zola)   2017-05-20 16:01:00
直接把x作成array不就好了?

Links booklink

Contact Us: admin [ a t ] ucptt.com