numpy实践的简单心得
经常出现这样的情况,以前会的知识,过一段时间有不会了,大多数人把它归结于遗忘.无论怎么样,下一次你不会了,肯定又得浪费时间去查资料,那为什么不他们记录下来了.
np.where
这个函数其实很有用,能根据array的值找到相应的位置,不过奇葩的是返回的位置却是pyhton中tuple类型 12345import numpy as npa=np.array([1,2,3,1,4])b=np.array([[1,2,3],[2,5,1],[7,3,1]])print np.where(a==1)print np.where(b==1)
结果
12(array([0, 3]),)(array([0, 1, 2]), array([0, 2, 2]))
np.sum
这个函数本来没多复杂,不过我个人的理解上有点小问题,按axis相加总是理解反了 12345678import numpy as npa=np.array([[1,2],[3,4],[5,6]])# 所有元素都加起来sum1=np.sum(a)# 按列相加(不应该是axis=1吗),其实就是把每一行对应的位置相加sum2=np.sum(a,axis=0)#按行相加sum3=np.sum(a,axis=1)
np.maximum
这个函数就有点意思,它能够比较两个array,并且能够返回对应位置的值大的元素 1234import numpy as npa=np.array([1,2,3,8])b=np.array([4,5,3,6])print np.maximum(a,b)
结果
1[4 5 3 8]
除法
和其他语言一样,会出现如下现象
11/2=0
解决方法
1from __future__ import division