import numpy as np
import random
import time
score = np.array([[
80,89,
86,67,
79],[
78,97,
89,67,
81],[
90,94,
78,67,
74],[
91,91,
90,67,
69],[
76,87,
75,67,
86],[
70,79,
84,67,
84],[
94,92,
93,67,
64],[
86,85,
83,67,
80]])
score
array([[80, 89, 86, 67, 79],
[78, 97, 89, 67, 81],
[90, 94, 78, 67, 74],
[91, 91, 90, 67, 69],
[76, 87, 75, 67, 86],
[70, 79, 84, 67, 84],
[94, 92, 93, 67, 64],
[86, 85, 83, 67, 80]])
# 使用python列表可以儲存一維陣列,通過列表的巢狀可以實現多維陣列,那麼為什麼還需要使用numpy的ndarray呢?
# 通過執行時間的對比可知為什麼要用ndarray而不是列表巢狀來表示陣列
a =[
]for i in
range
(10000):
))# 通過%time魔法方法, 檢視當前行的**執行一次所花費的時間
%time sum1 =
sum(a)
b = np.array(a)
%time sum1 =
sum(b)
wall time: 999 µs
wall time: 5.98 ms
score
array([[80, 89, 86, 67, 79],
[78, 97, 89, 67, 81],
[90, 94, 78, 67, 74],
[91, 91, 90, 67, 69],
[76, 87, 75, 67, 86],
[70, 79, 84, 67, 84],
[94, 92, 93, 67, 64],
[86, 85, 83, 67, 80]])
# 陣列維度的元組
score.shape
(8, 5)
#陣列維數
score.ndim
2
#陣列中元素數量
score.size
40
# 乙個陣列元素的長度(位元組)
score.itemsize
4
# 陣列元素的型別
score.dtype
dtype('int32')
# 一維陣列
b = np.array([1
,2,3
,4])
b.shape
(4,)
# 二維陣列
a = np.array([[
1,2,
3],[
4,5,
6]])
a.shape
(2, 3)
# 三位陣列 對於三維陣列的理解:可以將其想象成描述三維空間中的點,將(2,2,3)理解為立方體的長為2,寬為2,高為3
c = np.array([[
[1,2
,3],
[4,5
,6]]
,[[1
,2,3
],[4
,5,6
]]])
c.shape
(2,2,3)
score.dtype
dtype('int32')
type
(score.dtype)
numpy.dtype
# 指定資料型別建立陣列,注意:若不指定,整數預設int64,小數預設float64
a = np.array([[
1,2,
3],[
4,5,
6]], dtype=np.float32)
a.dtype
array([[1., 2., 3.],
[4., 5., 6.]], dtype=float32)
NumPy庫入門1 ndarray建立陣列
numpy 是乙個開源的python第三方庫,同時是scipy,pandas等資料處理科學計算庫的基礎,包含強大的n維陣列物件 ndarray。numpy 中使用array函式建立陣列 numpy.array list turple,dtype none 引數說明 引數描述 dtype 資料型別,可...
N維陣列 3 ndarray運算
import numpy as np 生成10名同學,5門功課的資料 score np.random.randint 40,100,10 5 scorearray 98,47,44,77,43 46,78,52,54,87 64,78,67,75,59 59,72,78,59,50 92,55,56...
N1 二維陣列查詢
在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。notes 1 二維陣列初始化 int b 2 行數 int ilen b.length 列數 int jle...