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]
筆記
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.