numpy基礎十道練習題(一)

2021-10-04 11:19:52 字數 3803 閱讀 9815

平台:jupyter notebook

numpy中文網:

菜鳥教程:

1、建立乙個長度為10的一維全為0的ndarray物件,然後讓第5個元素等於1在

import numpy as np#匯入numpy包

nd = np.zeros(10)

#np.zeros是建立乙個全是0的陣列——nd

nd[4]=

1#對第五個數進行賦值

nd#直接對建立的陣列顯示

結果array([0

.,0.

,0.,

0.,1

.,0.

,0.,

0.,0

.,0.

])

ndarray物件:就是陣列,裡面所有數的型別都相同,並由非負整數元組索引(也就是0,1,2,3這些)。

np.zeros(shape[, dtype, order])

返回給定形狀和型別的新陣列,並用零填充,預設的dtype是float64

shape:形狀,定義多少個,多少維度,都是它,一般的格式是[a,b],a代表的是你要建立的陣列的行,b則代表列

dtype:資料型別,就是int,float等型別,此處列出菜鳥教程對於相關資料型別的解釋,資料型別的解釋

2、建立乙個元素為從10到49的ndarray物件

n2 = np.arange(10,

50)#順序生成

n2結果:

array([10

,11,12

,13,14

,15,16

,17,18

,19,20

,21,22

,23,24

,25,26

,27,28

,29,30

,31,32

,33,34

,35,36

,37,38

,39,40

,41,42

,43,44

,45,46

,47,48

,49])

np.arange([start, ]stop, [step, ]dtype=none):

arange()將建立具有有規律遞增值的陣列,從你設定的start到你設定的stop,比如你設定(0,10),那麼將會取0到9,不會取10。

step:代表的是就是步長,就是隔幾個取乙個數,比如依然是(0,10)設定為2,那麼0和1就是一步,2和3就是一步,而我們只取每一步的開始

3、將第2題的所有元素位置反轉

n3 = n2[::

-1]n3

結果:array([49

,48,47

,46,45

,44,43

,42,41

,40,39

,38,37

,36,35

,34,33

,32,31

,30,29

,28,27

,26,25

,24,23

,22,21

,20,19

,18,17

,16,15

,14,13

,12,11

,10])

切片:切片其實就是選擇你想要的那一部分,通過改變幾個引數來選取。我們通過冒號分隔切片引數start:stop:step來進行切片操作

針對一維陣列:例如n2[0:3]取n2[0]到n2[2],還是不會取到我們右側寫的數,步長依然如上面一樣,那麼步長為-1則代表不向前走,而是往反方向走,那麼就形成了逆序

4、使用np.random.random建立乙個10*10的ndarray物件,並列印出最大最小元素

n4 = np.random.random([10

,10])

#隨機生成10*10

print

(n4.

max())

print

(n4.

min(

))

np.random.random(size=none):就是建立size這麼長的隨機數,且都取在0和1之間,在設定的同時跟shape一樣,可以界定它的維度,如果只有乙個數,則是一維,兩個數,則是兩維

最大值

np.max(你的陣列)或你的陣列.max()

最小值

np.min(你的陣列)或你的陣列.min()

5、建立乙個10*10的ndarray物件,且矩陣邊界全為1,裡面全為0

n5 = np.zeros([10

,10])

n5[0,:

]=1#第一行,所有列

n5[:,0

]=1#所有行,第一列

n5[9,:

]=1#第十行,所有列

n5[:,9

]=1#所有行,第十列

n5結果

array([[

1.,1

.,1.

,1.,

1.,1

.,1.

,1.,

1.,1

.],[

1.,0

.,0.

,0.,

0.,0

.,0.

,0.,

0.,1

.],[

1.,0

.,0.

,0.,

0.,0

.,0.

,0.,

0.,1

.],[

1.,0

.,0.

,0.,

0.,0

.,0.

,0.,

0.,1

.],[

1.,0

.,0.

,0.,

0.,0

.,0.

,0.,

0.,1

.],[

1.,0

.,0.

,0.,

0.,0

.,0.

,0.,

0.,1

.],[

1.,0

.,0.

,0.,

0.,0

.,0.

,0.,

0.,1

.],[

1.,0

.,0.

,0.,

0.,0

.,0.

,0.,

0.,1

.],[

1.,0

.,0.

,0.,

0.,0

.,0.

,0.,

0.,1

.],[

1.,1

.,1.

,1.,

1.,1

.,1.

,1.,

1.,1

.]])

這個練習可以使用切片的方法來進行拆分賦值

針對多維陣列:在面對多維陣列的時候,我們就會用到逗號——「,」來區分行和列。逗號之前代表的是行,之後的列,在面對具體情況的時候,我們可以把兩個部分分別看成兩個一維陣列,此時再用「:」進行切分,若某乙個部分只有乙個「:」,則代表那個部分全部選中

軟體測試十道練習題

1.軟體測試工作應該開始於 a coding之後 b 需求分析階段 c 概要設計階段 d 詳細設計階段 2.以下哪個不是軟體測試的目的 a 發現缺陷 b 確認軟體能夠正常執行 c 預防缺陷 d 減少整個產品開發周期時間 3.引入自動化測試工具時,屬於次要考慮因素的是 a 與測試物件進行互動的質量 b...

python經典練習題十道 六

1 設計簡單計算器 定義函式 def add x,y 相加 return x y def subtract x,y 相減 return x y def multiply x,y 相乘 return x y def divide x,y 相除 return x y 使用者輸入 print 選擇運算 p...

Python基礎30道練習題(一)

1 通過輸入函式input和raw input 輸入學號和姓名,顯示出 學號 姓名 stunum input 請輸入學號 name input 請輸入姓名 print 姓名 stunum 學號 name 執行結果 2 接收乙個複數的實數和虛數部分,輸出其複數表示形式及它的模。a int input ...