筆記

1.
np.stack(arrays,axis)
x1 = np.arange(9).reshape((3, 3))
print('x1:\n', x1, '\n')
x2 = np.arange(10, 19, 1).reshape((3, 3))
print('x2:\n', x2, '\n')
y2 = np.stack((x1, x2), axis=0)
print('axis=0時stack後:\n:', y2)
輸出結果:
x1:
 [[0 1 2]
 [3 4 5]
 [6 7 8]] 

x2:
 [[10 11 12]
 [13 14 15]
 [16 17 18]] 

axis=0時stack後:(每個矩陣)
: [[[ 0  1  2]
  [ 3  4  5]
  [ 6  7  8]]

 [[10 11 12]
  [13 14 15]
  [16 17 18]]]
axis=1時stack後:(每一行)
: [[[ 0  1  2]
  [10 11 12]]

 [[ 3  4  5]
  [13 14 15]]

 [[ 6  7  8]
  [16 17 18]]]
  axis=2時stack後:(每個元素)
: [[[ 0 10]
  [ 1 11]
  [ 2 12]]

 [[ 3 13]
  [ 4 14]
  [ 5 15]]

 [[ 6 16]
  [ 7 17]
  [ 8 18]]]


2.
np.random.seed(5)	#指點種子
x = np.empty((3, 3))     # np.empty()返回一個隨機元素的矩陣,大小按照參數定義。
輸出
[[0.00000000e+000 0.00000000e+000 0.00000000e+000]
 [0.00000000e+000 0.00000000e+000 9.15009576e-321]
 [8.25456363e-312 8.25456363e-312 8.25548621e-312]]



3.
np.eye(n,k)	#用於生成一個n維的正對角線全爲1的數組,參數k可以調整對角線位置
np.diag(arrays,k)	#可以輸出數組arrays的對角線元素,參數k可以調整對角線位置
np.tile()			#一個用於複製的函數


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

np.tile(c, 2) #將c複製兩次 
array([1, 2, 3, 4, 1, 2, 3, 4])

np.tile(c,(4,1))#將c按4行一列方式(4,1)複製 
array([[1, 2, 3, 4],
       [1, 2, 3, 4],
       [1, 2, 3, 4],
       [1, 2, 3, 4]])

5.
from sklearn.metrics import accuracy_score
auc = accuracy_score(y, y_hat)
# 生成模型的auc值,y爲實際值,y_hat爲預測值

6.
# 轉載至
(https://www.wandouip.com/t5i227883/)
np.mgrid[]
功能:返回多維結構,常見的如2D圖形,3D圖形的數組
a:b:c
c表示步長,爲實數表示間隔;該爲長度爲[a,b),左開右閉
或:
a:b:cj
cj表示步長,爲複數表示點數;該長度爲[a,b],左閉右閉 
np.mgrid[1維,第2維 ,第3維 , …] 

生成1D數組:
a=np.mgrid[-4:4:3j]	#在[-4,4]區間內取3個值
>>>array([-4.,  0.,  4.])

生成個2D矩陣:
mgrid[[1:3:3j, 4:5:2j]]		#生成的是3*2的矩陣
>>>
x:array([[1., 1.],
       [2., 2.],
       [3., 3.]])
y:array([[4., 5.],
       [4., 5.],
       [4., 5.]])
所以表示的結果是:
[[(1,4),(1,5)]
 [(2,4),(2,5)]
 [(3,4),(3,5)]
]
結果值先y向右擴展,再x向下擴展


7.
ndarray.flat
flat返回的是一個迭代器,可以用for訪問數組每一個元素
n = np.arange(4).reshape(2,2)
for i in n.flat:
    print(i)
0
1
2
3
print(list(n.flat))
>>>[0, 1, 2, 3]




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章