Python數(shù)據(jù)分析筆記-02

1.為數(shù)組加上或者乘以一個(gè)標(biāo)量

>>> import numpy as np

>>> a=np.array([1,2,3,4,5])

>>> a

array([1, 2, 3, 4, 5])

>>> a*1

array([1, 2, 3, 4, 5])

>>> a

array([1, 2, 3, 4, 5])

>>> a*2

array([ 2,?4,?6,?8, 10])

>>> a

array([1, 2, 3, 4, 5])

2.兩個(gè)數(shù)組進(jìn)行計(jì)算

1)元素?cái)?shù)量相同

>>> a

array([1, 2, 3, 4, 5])

>>> b=np.array([2,3,4,5,6])

>>> b

array([2, 3, 4, 5, 6])

>>> a*b

array([ 2,?6, 12, 20, 30])

>>> a

array([1, 2, 3, 4, 5])

>>> b

array([2, 3, 4, 5, 6])

2)元素?cái)?shù)量不同:會(huì)報(bào)錯(cuò)

>>> b

array([2, 3, 4, 5, 6])

>>> c=np.array([3,4,5,6,7,8,9])

>>> c

array([3, 4, 5, 6, 7, 8, 9])

>>> b*c

Traceback (most recent call last):

?File "", line 1, in

ValueError: operands could not be broadcast together with shapes (5,) (7,)

3.可以對一個(gè)數(shù)組先進(jìn)行函數(shù)運(yùn)算,該函數(shù)運(yùn)算返回值也是一個(gè)數(shù)組

>>> a

array([1, 2, 3, 4, 5])

>>> b=np.sin(a)

>>> b

array([ 0.84147098,?0.90929743,?0.14112001, -0.7568025 , -0.95892427])

4.多維數(shù)組的運(yùn)算也是元素級別的

>>> a=np.arange(9).reshape(3,3)

>>> a

array([[0, 1, 2],

??????[3, 4, 5],

??????[6, 7, 8]])

>>> b=np.zeros((3,3))

>>> b

array([[ 0.,?0.,?0.],

??????[ 0.,?0.,?0.],

??????[ 0.,?0.,?0.]])

>>> a*b

array([[ 0.,?0.,?0.],

??????[ 0.,?0.,?0.],

??????[ 0.,?0.,?0.]])

5.矩陣積

1)c=np.dot(a,b)求a和b的矩陣積--第一種寫法

>>> a=np.arange(9).reshape(3,3)

>>> b=np.random.random(9).reshape(3,3)

>>> a

array([[0, 1, 2],

??????[3, 4, 5],

??????[6, 7, 8]])

>>> b

array([[ 0.1752667 ,?0.61713814,?0.63455636],

??????[ 0.42635687,?0.9609163 ,?0.40790306],

??????[ 0.01270341,?0.29411413,?0.52187812]])

>>> c=np.dot(a,b)

>>> c

array([[?0.4517637 ,??1.54914457,??1.45165931],

??????[?2.29474465,??7.1656503 ,??6.14467194],

??????[?4.1377256 ,?12.78215603,?10.83768457]])

2)c=a.dot(b)

>>> c=a.dot(b)

>>> c

array([[?0.4517637 ,??1.54914457,??1.45165931],

??????[?2.29474465,??7.1656503 ,??6.14467194],

??????[?4.1377256 ,?12.78215603,?10.83768457]])

>>> a

array([[0, 1, 2],

??????[3, 4, 5],

??????[6, 7, 8]])

>>> b

array([[ 0.1752667 ,?0.61713814,?0.63455636],

??????[ 0.42635687,?0.9609163 ,?0.40790306],

??????[ 0.01270341,?0.29411413,?0.52187812]])

6.數(shù)組的自運(yùn)算:不會(huì)新生數(shù)組,改變原數(shù)組

>>> a

array([[0, 1, 2],

??????[3, 4, 5],

??????[6, 7, 8]])

>>> a+=1

>>> a

array([[1, 2, 3],

??????[4, 5, 6],

??????[7, 8, 9]])

7.通用函數(shù):ufunx

對數(shù)組中的每個(gè)元素逐一進(jìn)行操作,生成一個(gè)新數(shù)組,如平方根函數(shù)sqrt() 對數(shù)函數(shù) log() 正弦函數(shù)sin()

>>> a

array([[1, 2, 3],

??????[4, 5, 6],

??????[7, 8, 9]])

>>> b=np.sin(a)

>>> b

array([[ 0.84147098,?0.90929743,?0.14112001],

??????[-0.7568025 , -0.95892427, -0.2794155 ],

??????[ 0.6569866 ,?0.98935825,?0.41211849]])

>>> c=np.sqrt(a)

>>> c

array([[ 1.???????,?1.41421356,?1.73205081],

??????[ 2.???????,?2.23606798,?2.44948974],

??????[ 2.64575131,?2.82842712,?3.???????]])

>>> d=np.log(a)

>>> d

array([[ 0.???????,?0.69314718,?1.09861229],

??????[ 1.38629436,?1.60943791,?1.79175947],

??????[ 1.94591015,?2.07944154,?2.19722458]])

8.聚合函數(shù)

對一數(shù)組進(jìn)行聚合函數(shù)的套用,返回一個(gè)單一值作為結(jié)果

>>> a

array([[1, 2, 3],

??????[4, 5, 6],

??????[7, 8, 9]])

>>> a.sum()

45

>>> a.max()

9

>>> a.min()

1

>>> a.mean()

5.0

>>> a.std()

2.5819888974716112

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容