python Numpy compute

統計分析

算總數
.sum(ndarray)
ex:
>>> np.sum([0.5, 1.5])
2.0


取最大值
.amax(ndarray)
ex:
>>>a = np.array([1,1,2,2,2,2,3,3,3])
>>>print numpy.amax(a)
3

取最小值
.amin(ndarray)

算出標準差
.std(ndarray)
ex:
>>>a = np.array([1,1,2,2,2,2,3,3,3])
>>>print numpy.std(a)


平均數
.average(ndarray)
ex:
>>>a=[1, 2, 3, 4]
>>> np.average(a)
2.5


將所有元素取小數後n位
.round(ndarray)
ex:
.round(ndarray)
>>>a=[0.11,0.22,0.33]
>>>np.round(a,1)
[0.1,0.2,0.3] 

...

將資料切成多份
.histogram( ndarray, bins= < num>)
ex:
將數列分成3等份
hist, bins = np.histogram([1,1,2,2,2,2,3,3,3], bins=3)
print bins
>>> [1 1.66666667 2.33333333 3]
print hist
>>> [2 4 3]

ex: 將數列分為50等份並畫圖
hist, bins = np.histogram(x, bins=50)
width = 0.7 * (bins[1] - bins[0])
center = (bins[:-1] + bins[1:]) / 2
plt.bar(center, hist, align='center', width=width)
plt.show()

refer:
http://stackoverflow.com/questions/5328556/histogram-matplotlib
http://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html


計算元素重複次數
.bincount(ndarray)
ex:
target=[1, 1, 2, 3, 4]

dcount = np.bincount(target)
dindex = np.nonzero(dcount)[0]
print dcount
print np.nonzero(dcount)[0]
print zip(dindex,dcount[dindex])

 

................................................................................................................

矩陣運算

設a,b如下
>>> a = np.array([1, 2, 3])
>>> b = np.array([2, 4, 6])


每個元素*2
>>> a * 2
array([2, 4, 6])

平方
>>> a ** 2
array([1, 4, 9])

向量相加
>>> a+b
array([3, 6, 9])

向量相乘
>>>a*b
array([ 2, 8, 18])

向量相減
>>> a-b
array([-1, -2, -3])

向量相除
>>> a/b
array([ 0.5, 0.5, 0.5])

refer
http://ccckmit.wikidot.com/la:vector

 

 

dot
矩陣的乘積

兩數值相乘
ex:
>np.dot(3, 4)
12

對於一維數組,它計算的是其點積/內積
ex:
X=[1,3,-5], Y=[4,-2,-1]
(X^T)*(Y)=1*4+3*-2+-5*-1=3
做法如下
>>> X=[1,3,-5]
>>> Y=[4,-2,-1]
>>> print np.dot(X,Y)
3

對於二維數組,它計算的是矩陣乘積,
ex:
>>> a = [[1, 0], [0, 1]]
>>> b = [[4, 1], [2, 2]]
>>> np.dot(a, b)
array([[4, 1], [2, 2]])

 

refer
NumPy Basics: Arrays and Vectorized Computation
http://pda.readthedocs.org/en/latest/chp4.html#ndarray

 

 

2019-07-01 21:07:28發表 2019-07-01 21:07:41修改   

金融科技
數據分析
程式開發

計算機組織與結構
資料結構與演算法
Database and MySql
manage tool
windows
unix-like
linux service
network
network layer3
network layer2
network WAN
network service
作業系統
數位鑑識
資訊安全解決方案
資訊安全威脅
Cisco security
Cisco network
Cisco layer3
Cisco layer2



  登入      [牛的大腦] | [單字我朋友] Powered by systw.net