看板 Python 關於我們 聯絡資訊
各位大大好 小弟想問利用迴圈的方式,把運算的資料存入一個陣列,且陣列要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