numpy 常用功能

2021-09-28 18:54:47 字數 4137 閱讀 1050

# numpy 常用功能

import numpy as np

a = np.array([1

,2,5

])# 產生乙個陣列

out = a.shape

print

("a的shape(形狀為): "

, out)

#輸出: a的shape(形狀為): (3,)

a = np.array([[

0.5,

0.2,

0.3],[

0.3,

0.5,

0.2],[

0.2,

0.3,

0.5]])

out = a.shape

print

("a的shape(形狀為): "

, out)

#輸出: a的shape(形狀為): (3, 3)

# a.shape其實是個元組tuple 可以用訪問listd的方式訪問元組tuple

print

(a.shape[0]

)#輸出: 3 ##訪問元組的第0個

# 為啥a 是(3,) a 是(3,3)?

# 當array() 小括號裡只有一層 a就是一維的 兩層 就是兩維的

# 可以輸入一下命令檢視 維度

out1 = a.ndim

out2 = a.ndim

print

("a的維度是: {}, a的維度是: {}"

.format

(out1, out2)

)# a的維度是: 1, a的維度是: 2

# 練習

# 試試一下命令

b = np.array([[

1,2]

])b.shape

b.ndim

# 輸入乙個矩陣要輸入那麼多方括號類似我了,有什麼快捷的方法?

new_a = np.array(

[0.5

,0.2

,0.3

,0.3

,0.5

,0.2

,0.2

,0.3

,0.5])

.reshape(3,

3)# 試試 new_a 和 a 一樣嗎?

new_a2 = np.array(

[0.5

,0.2

,0.3

,0.3

,0.5

,0.2

,0.2

,0.3

,0.5])

.reshape(1,

9)# 看看new_a2 變成了什麼

# 對 reshape(n, m) 就是把 array 變成 n * m 維

# 那矩陣乘法如何實現呢

a = np.arange(9)

.reshape(3,

3)'''a =

array([[0, 1, 2],

[3, 4, 5],

[6, 7, 8]])

'''b = np.arange(1,

10).reshape(3,

3)'''b =

array([[1, 2, 3],

[4, 5, 6],

[7, 8, 9]])

'''# np.arange(9) 與 range(9) 類似 生成 0-8 的陣列

# np.arange(1,9) 與 range(1,9) 類似 生成 1-8 的陣列

out = np.dot(a, b)

# np.dot() 實現矩陣相乘

print

(out)

'''輸出:

[[ 18 21 24]

[ 54 66 78]

[ 90 111 132]]

'''out = a * b # 這樣是對應乘

print

(out)

'''輸出:

[[ 0 2 6]

[12 20 30]

[42 56 72]]

'''## 矩陣轉置

a = np.arange(9)

.reshape(3,

3)'''out[122]:

array([[0, 1, 2],

[3, 4, 5],

[6, 7, 8]])

'''a.t

a.transpose(

)# 兩個是一樣的

'''out[123]:

array([[0, 3, 6],

[1, 4, 7],

[2, 5, 8]])

'''# max, argmax

a = np.array([1

,2,3

,0])

a.max()

# 與 max(a) 相同

a.min()

a.argmax(

)# 返回最大值的下標 a 中 a[2] = 3是最大的 所以返回 2

a.argmin(

)# 類似 sum()求和 numpy 有 a.sum() 使用後者會更快一些

# a.sort() 等價 sort(a) 排序

a.mean(

)# 求平均值

a.trace(

)# 跡

## 差不多你想要的簡單功能 在網上找 應該會找到

#### 介紹一下 切片 切片的操作 np.array 和 list 基本是一樣的 參考**

a = np.arange(10)

# array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])a[0

]# a的第0個 # out[119]: 0a[-

4]# a的倒數第四個 # out[119]: 6a[:

]#從左往右 # out[124]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])a[:

:-1]

#從右往左 # array([9, 8, 7, 6, 5, 4, 3, 2, 1, 0]) 也就是倒序a[1

:6]# out[126]: array([1, 2, 3, 4, 5]) 從1到 6-1a[:

6]# array([0, 1, 2, 3, 4, 5]) 從頭單6-1a[6

:]# array([6, 7, 8, 9]) 從6到尾

# a[這裡是開始索引:這裡是結束索引:這是step/(幾個幾個數?)]a[1

:-1:

2]# 猜猜輸出多少????

# 可以連續切片a[:

8][2

:5][

-1:]

#相當於:

#a[:8]=[0, 1, 2, 3, 4, 5, 6, 7]

#a[:8][2:5]= [2, 3, 4]

#a[:8][2:5][-1:] = 4

# 很重要!!!!

a = np.arange(10)

print

(a)# [0 1 2 3 4 5 6 7 8 9]

b = a

print

(b)# [0 1 2 3 4 5 6 7 8 9]b[0

]=99print

(a)# [99 1 2 3 4 5 6 7 8 9]

# 為啥b 也跟著變了

#可以試試這個命令

a is b

# out[132]: true

id(a)

#out[133]: 1692231906688

id(b)

#out[134]: 1692231906688

## 其實為了節省記憶體 b = a 其實是給 a 起了個小名 叫 b 如同給 你起了個小名,叫那個都是你,修改哪個,都會變

# 如果是 b = a.copy()

a = np.arange(10)

print

(a)# [0 1 2 3 4 5 6 7 8 9]

b = a.copy(

)print

(b)# [0 1 2 3 4 5 6 7 8 9]b[0

]=99print

(b)# [99 1 2 3 4 5 6 7 8 9]

print

(a)# [0 1 2 3 4 5 6 7 8 9] 這樣也正常了

SAP常用功能

1 sap外觀 幫助圖示右側的按鈕是customizing of local layout 定製本地布局 按鈕,可以用它來變更sap gui顯示介面的風格。2 sap導航 1 在sap print list視窗裡,如果不想在保持期內儲存系統假離線請求,在print screen list 列印頁面列...

IOS 常用功能

對xib檔案的處理 xib的載入可以通過 nsbundle maibundle loadnibnamed nsstring str owner nsstring temp dic nsdictionary dic 載入 xib的fileowner檔案。然後通過下標得到sub 如果要獲取xib中固定的...

PHP常用功能

1 字串 主要方法有 strops substr str split explode 等,更多方法檢視php官方手冊 字串的方法 strpos substr print r explode str sun of beach 獲取子字串在當前字串的索引位置 echo strpos str,ea 字串的...