平台: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 ...