作者StubbornLin (Victor)
看板Python
标题[问题] Numpy到底该怎麽玩?
时间Sat Aug 22 18:14:19 2009
我因为需要处理一些大量的数字
所以想用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)
1F:→ yungyuc:read slice(); refer to lapack. 08/22 19:49
2F:→ sbrhsieh:a[1,...,3]=>a.__getitem__((1, Ellipsis, 3)) 08/23 15:50
3F:→ sbrhsieh:a[3,:]=>a.__getitem__((3, slice(None, None, None))) 08/23 15:51
4F:→ sbrhsieh:a[:,3]=>a.__getitem__((slice(None, None, None), 3)) 08/23 15:51
5F:→ sbrhsieh:Python 2.5 docs, 5.3.3 Slicings 08/23 15:53
6F:→ sbrhsieh:Python 2.5 Language Reference, 5.3.3 Slicings 08/23 15:54