[问题] 利用循环方式,将每一笔资料存入阵列

楼主: 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