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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

莫烦python博客_《莫烦Python》笔记 -- numpy部分

發布時間:2025/3/12 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 莫烦python博客_《莫烦Python》笔记 -- numpy部分 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

個人感覺,在numpy里,從說法上,數組與矩陣可以互換

1.1 numpy & pandas有什么用?

1.2 numpy & pandas的安裝

安裝Anaconda

2.1 numpy屬性

import numpy as np

# 將一個列表轉化為矩陣

array = np.array([[1,2,3],

[2,3,4]])

# 查看矩陣的維度

print('dim of array:',array.ndim)

# 查看矩陣的形狀

print('shape:',array.shape)

# 查看矩陣元素的個數

print('size:',array.size)

2.2 numpy創建array

import numpy as np

# 生成一個一維矩陣

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

# 利用參數dtype指定列表元素的類型,常用dtype:int32/int64/float32/float64

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

print(a.dtype)

補充:使用astype方法顯示地轉化矩陣的數據類型

a.astype(np.float64),這樣整數就換成了浮點數

注意:將浮點數轉換為整數時,會使用去尾法執行,即2.5會換算成2

# 生成一個二維矩陣

b = np.array([[2,3,4],

[3,4,5]])

# 生成一個3行4列全為0的矩陣

c = np.zeros((3,4))

# 生成一個3行4列全為1的矩陣

d = np.ones((3,4))

# 生成一個3行4列全為空值的矩陣

e = np.empty((3,4))

# 生成一個有序的矩陣:10至20步長為2的數

f = np.arange(10,20,2)

# 對生成的矩陣重新塑形

g = np.arange(12).reshape((3,4))

# 將1至10等分得到5個數

h = np.linspace(1,10,5)

i = np.linspace(1,10,6).reshape((2,3))

補充:np.random模塊常用方法/函數

np.random.rand():返回給定形狀的一組隨機數值

np.random.randn():返回一組服從標準正態分布的數值

np.random.randint(low[, high, size]) :返回一組隨機整數值 ,位于[low,high)之間

np.random.random_integers(low[, high, size])::返回一組隨機整數值 ,位于[low,high]之間

np.random.random():返回一組隨機的浮點數,位于[0.0,1.0)之間

np.random.ranf():返回一組隨機的浮點數,位于[0.0,1.0)之間

np.random.sample():返回一組隨機的浮點數,位于[0.0,1.0)之間

詳細例子以及其他方法/函數可參見官網以及一篇翻譯的不錯的中文博客

2.3 numpy的基礎運算

import numpy as np

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

b = np.arange(4)

# 加法 +

a+b

# 減法 -

a-b

# 乘法,指對應位置相乘 *

a*b

# 除法 /

b/a

# 次方 **

b**2

# sin/cos/tan()

np.tan(a)

# 比較>,=,<=

b == 3

a = np.array([[1,1],

[0,1]])

b = np.arange(4).reshape((2,2))

# 逐個相乘,即對應位置相乘 *

c = a*b

# 矩陣乘法,兩種寫法 **

c_dot1 = np.dot(a,b)

c_dot2 = a.dot(b)

# 生成一個2行4列元素為0-1隨機的矩陣

a = np.random.random((2,4))

# 參數axis用于控制計算方式,0表示按行計算,1為按列計算

np.sum(a)

np.sum(a,axis=0)

np.min(a)

np.min(a,axis=1)

np.max(a)

2.4 numpy的基礎運算2

import numpy as np

A =np.arange(2,14).reshape(3,4)

# 找出A的最小值的索引

print(np.argmin(A))

A.mean()

np.mean(A)

np.cumsum(A) # 累加

np.diff(A) # 累差,印象中另一種說法是錯位相減

np.sort(A) # 逐行排序

np.transpose(A)/A.T # 轉置

np.clip(A,5,9) # 將矩陣A中小于5的數變為5,大于9的數變為9,介于5至9的數保持不變

2.5 numpy的索引

import numpy as np

A = np.arange(3,15)

A[3] # 找到矩陣A里位置為3的值

圖2.5-1

A = np.arange(3,15).reshape((3,4))

A[2] # 矩陣A的行數為2的數據

A[2][1] # 矩陣A第2行第1列的值

A[2,1] # 矩陣A第2行第1列的值

A[:,1] # 矩陣A所有行第1列的數據

A[:,1:3] # 矩陣A所有行第1至2列的值

圖2.5-2

# 按行遍歷矩陣A

for row in A:

print(row)

# 按列遍歷矩陣A

for column in A.T:

print(column)

# 按行遍歷矩陣A,并展示為一列值

for item in A.flat:

print(item)

# 將矩陣A按行展示為一行值

A.flatten()

圖2.5-3

圖2.5-4

2.6 numpy的array合并

import numpy as np

A = np.array([1,1,1])

B = np.array([2,2,2])

C= np.vstack((A,B)) # vertical stack 上下合并

D = np.hstack((A,B)) # horizontal stack 左右合并

np.concatenate((A,B,A,B),axis =0) # 0表示縱向合并,1表示橫向合并??

圖2.6-1

2.7 numpy的array分割

import numpy as np

A = np.arange(12).reshape((3,4))

# 等分分割

np.split(A,2,axis=1)

# 不等分分割

np.array_split(A,3,axis=1)

# 另外兩個等分函數

np.vsplit(A,3) # 按行

np.hsplit(A,2) # 按列

圖2.7-1

圖2.7-2

2.8 numpy的copy&deep copy

import numpy as np

a = np.arange(4)

b = a

c = b

a[0]=11

a

b

c

c[1:3]=[22,33]

c

a

b

2.8-1

2.8-2

a = np.arange(4)

b = a.copy() # deep copy

a

b

b[1] = 45

b

a

2.8-3

照例,文末附上小哥哥的課程地址。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的莫烦python博客_《莫烦Python》笔记 -- numpy部分的全部內容,希望文章能夠幫你解決所遇到的問題。

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