作者popo14777 (草草)
看板Python
標題[問題] 利用迴圈方式,將每一筆資料存入陣列
時間Thu May 18 21:59:43 2017
各位大大好
小弟想問利用迴圈的方式,把運算的資料存入一個陣列,且陣列要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
以上是小弟的問題,謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.34.172.136
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1495115986.A.715.html
→ uranusjr: y = np.empty([len(x), 1]) 05/18 22:10
→ uranusjr: for loop 裡面 y[i] = np.array([3 + 2 * x[i]]) 05/18 22:11
→ uranusjr: 啊 y[i, 0] = 3 + 2 * x[i] 比較符合你的 Matlab 版語意 05/18 22:12
謝謝ur大大!!
※ 編輯: popo14777 (1.34.172.136), 05/18/2017 22:48:48
※ 編輯: popo14777 (1.34.172.136), 05/18/2017 22:49:05
→ hsnuyi: MATLAB寫成 y(:,1)=3+2*x' 就好了吧... 05/19 01:55
→ ZolaEmile: 直接把x作成array不就好了? 05/20 16:01