[爆卦]numpy語法是什麼?優點缺點精華區懶人包

為什麼這篇numpy語法鄉民發文收入到精華區:因為在numpy語法這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者StubbornLin (Victor)看板Python標題[問題] Numpy到底該怎麼玩?時...


我因為需要處理一些大量的數字
所以想用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)
yungyuc:read slice(); refer to lapack. 08/22 19:49
sbrhsieh:a[1,...,3]=>a.__getitem__((1, Ellipsis, 3)) 08/23 15:50
sbrhsieh:a[3,:]=>a.__getitem__((3, slice(None, None, None))) 08/23 15:51
sbrhsieh:a[:,3]=>a.__getitem__((slice(None, None, None), 3)) 08/23 15:51
sbrhsieh:Python 2.5 docs, 5.3.3 Slicings 08/23 15:53
sbrhsieh:Python 2.5 Language Reference, 5.3.3 Slicings 08/23 15:54

你可能也想看看

搜尋相關網站