日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器学习数据包之numpy

發布時間:2024/7/5 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习数据包之numpy 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

numpy

屬性

import numpy as np#矩陣運算array=np.array([[1,2,3],[2,3,4]])print (array)[[1 2 3][2 3 4]]

維度

print('number of dim',array.ndim)number of dim 2

形狀

print('shape',array.shape)shape (2, 3)

大小

print('size',array.size)size 6

創建

創建類型

a=np.array([2,23,4],dtype=np.int)print(a.dtype)

int32位數小,空間小,精度問題

零矩陣 1矩陣

a=np.zeros((3,4))print(a)[[0. 0. 0. 0.][0. 0. 0. 0.][0. 0. 0. 0.]]#ones empty一樣用法

arange

a=np.arange(10,20,2)print(a)[10 12 14 16 18]a=np.arange(12).reshape((3,4))print(a)[[ 0 1 2 3][ 4 5 6 7][ 8 9 10 11]]

線段linspace

a=np.linspace(1,10,20)print(a)[ 1. 1.47368421 1.94736842 2.42105263 2.89473684 3.368421053.84210526 4.31578947 4.78947368 5.26315789 5.73684211 6.210526326.68421053 7.15789474 7.63157895 8.10526316 8.57894737 9.052631589.52631579 10. ]

基礎運算

a=np.array([10,20,30,40])b=np.arange(4)

加減乘除

c=a-bprint(a,b,c)[10 20 30 40] [0 1 2 3] [10 19 28 37]#平方b**2

三角函數

c=10*np.sin(a)print(c)[-5.44021111 9.12945251 -9.88031624 7.4511316 ]

比較運算

print(b<3)[ True True True False]

矩陣運算

a=np.array([[1,1],[0,1]])b=np.arange(4).reshape((2,2))#矩陣乘法np.dot(a,b)Out[32]: array([[2, 4],[2, 3]])a.dot(b)Out[33]: array([[2, 4],[2, 3]])

隨機數組

d=np.random.random((2,3))print(d)[[0.46635805 0.01213244 0.47653125][0.01615214 0.34600836 0.72292145]]np.sum(d)Out[37]: 2.0401036780019526np.min(d)Out[38]: 0.01213243701371769np.max(d)Out[39]: 0.7229214475603181np.max(d,axis=1)Out[40]: array([0.47653125, 0.72292145])np.max(d,axis=0)Out[41]: array([0.46635805, 0.34600836, 0.72292145])

求索引

A=np.arange(2,14).reshape(3,4)print(A)[[ 2 3 4 5][ 6 7 8 9][10 11 12 13]]np.argmin(A)Out[44]: 0np.argmax(A)Out[44]: 11

平均值 中位數

np.mean(A) Out[45]: 7.5 np.average(A) Out[46]: 7.5np.median(A)Out[47]: 7.5

累加

print(A),[[ 2 3 4 5][ 6 7 8 9][10 11 12 13]]Out[48]: (None,)np.cumsum(A)Out[49]: array([ 2, 5, 9, 14, 20, 27, 35, 44, 54, 65, 77, 90], dtype=int32)

累差

np.diff(A)Out[50]: array([[1, 1, 1],[1, 1, 1],[1, 1, 1]])

輸出非0行列值

np.nonzeros(A) (array([0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2], dtype=int64),array([0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3], dtype=int64))

排序

np.sort(A)Out[52]: array([[ 2, 3, 4, 5],[ 6, 7, 8, 9],[10, 11, 12, 13]])

轉置

np.transpose(A)Out[53]: array([[ 2, 6, 10],[ 3, 7, 11],[ 4, 8, 12],[ 5, 9, 13]])(A.T).dot(A)Out[54]: array([[140, 158, 176, 194],[158, 179, 200, 221],[176, 200, 224, 248],[194, 221, 248, 275]])

clip對矩陣小于5變5,大于9變9

np.clip(A,5,9)Out[55]: array([[5, 5, 5, 5],[6, 7, 8, 9],[9, 9, 9, 9]])

索引

A=np.arange(3,15)print(A)[ 3 4 5 6 7 8 9 10 11 12 13 14]print(A[3])6

二維

for row in A:print(row) A=np.arange(3,15).reshape(3,4)print(A[2])[11 12 13 14]print(A[1][1])8print(A[:,1])[ 4 8 12]

打印項目

A=np.arange(3,15).reshape(3,4)print(A.flatten())[ 3 4 5 6 7 8 9 10 11 12 13 14]for item in A.flat:print(item)

合并

A=np.array([1,1,1])B=np.array([2,2,2])#上下合并print(np.vstack((A,B)))[[1 1 1][2 2 2]]#左右合并print(np.hstack((A,B)))[1 1 1 2 2 2]#加維度print(A[np.newaxis,:])[[1 1 1]]print(A[:,np.newaxis])[[1][1][1]]#總和并A=A[:,np.newaxis]B=B[:,np.newaxis]np.concatenate((A,B,B,A),axis=1)Out[17]: array([[1, 2, 2, 1],[1, 2, 2, 1],[1, 2, 2, 1]])np.concatenate((A,B,B,A),axis=0)Out[18]: array([[1],[1],[1],[2],[2],[2],[2],[2],[2],[1],[1],[1]])

分割

A=np.arange(12).reshape(3,4)np.split(A,2,axis=1)Out[20]: [array([[0, 1],[4, 5],[8, 9]]), array([[ 2, 3],[ 6, 7],[10, 11]])]print(A)[[ 0 1 2 3][ 4 5 6 7][ 8 9 10 11]]#不對等分割np.array_split(A,3,axis=1)Out[22]: [array([[0, 1],[4, 5],[8, 9]]), array([[ 2],[ 6],[10]]), array([[ 3],[ 7],[11]])]

copy和deep copy


總結

以上是生活随笔為你收集整理的机器学习数据包之numpy的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。