[問題] Numpy到底該怎麼玩?

看板Python作者 (Victor)時間16年前 (2009/08/22 18:14), 編輯推噓0(006)
留言6則, 2人參與, 最新討論串1/1
我因為需要處理一些大量的數字 所以想用numpy來進行進算 可是numpy某種程度來說像天書一樣 囧 就拿它的切片來說好了 語法就非常地奇怪= =| a[1,...,3] a[3,:] a[:,3] 總讓人懷疑為什麼這種奇怪的語法居然可以通過= = 我知道它是省略() 所以 a[3,:] 其實是a[(3,):] 這我還能理解... 但像這個就... a[:,3] 如果寫成a[:(,3)]是語法錯誤 所以那莫名奇妙的語法到底哪裡合法我看不太出來 orz 那...的語法一樣讓人覺得莫名奇妙 撇開莫名奇妙的語法吐曹= = 請問 numpy到底該怎麼玩? 舉個例子,我有一連串的點,這些點構成一條線 像我想取得線段的所有vector,這點還不難,我是這樣寫 def toVector(points): """Convert points into vectors let p1, p2, p3, ..., pn = points the result will be (p2-p1, p3-p2, ..., pn - pn-1) @param points: points of line string to convert @return: list of vector """ a = np.array(points)[:-1] b = np.array(points)[1:] return b - a 可是比較頭痛的部份就來了,像我想計算前後vector之間的inner product 像這個該怎麼算,我就弄不清楚 我有翻他的文件 http://docs.scipy.org/doc/numpy/reference/generated/numpy.dot.html 可是他的文件寫得一樣很天書 dot(a, b)[i,j,k,m] = sum(a[i,j,:] * b[k,:,m]) 前面的參數ijkm又是怎麼回事 囧??? 我整個弄得一頭霧水 所以想請問一下,這鬼東西到底怎麼入門 orz... -- 哇咧咧 創意投票系統 http://walele.com 易記學 程式設計教學 http://ez2learn.com/ 易記學 程式設計討論區 http://forum.ez2learn.com VICTOR's 個人Blog http://blog.ez2learn.com/ 財報分析王 http://victorlin.serveftp.org/stock/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.165.227.37 ※ 編輯: StubbornLin 來自: 218.165.227.37 (08/22 18:48)

08/22 19:49, , 1F
read slice(); refer to lapack.
08/22 19:49, 1F

08/23 15:50, , 2F
a[1,...,3]=>a.__getitem__((1, Ellipsis, 3))
08/23 15:50, 2F

08/23 15:51, , 3F
a[3,:]=>a.__getitem__((3, slice(None, None, None)))
08/23 15:51, 3F

08/23 15:51, , 4F
a[:,3]=>a.__getitem__((slice(None, None, None), 3))
08/23 15:51, 4F

08/23 15:53, , 5F
Python 2.5 docs, 5.3.3 Slicings
08/23 15:53, 5F

08/23 15:54, , 6F
Python 2.5 Language Reference, 5.3.3 Slicings
08/23 15:54, 6F
文章代碼(AID): #1AZyJzWX (Python)
文章代碼(AID): #1AZyJzWX (Python)