python array中關(guān)于[a,b,c]的使用方式
不論是用numpy或者是tensorflow,在機器學習的過程中常常會用到[]來提取array中的元素,但是再找了很多的資源之后發(fā)現(xiàn)并沒有比較好的解釋
我在嘗試之后給出list[]的用法和解析,希望能幫到大家
以這樣的數(shù)據(jù)為例
list1 = np.arange(24).reshape([2,3,4]) ‘'‘ [[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] [[12 13 14 15] [16 17 18 19] [20 21 22 23]]] '‘'
1.[a,b,c]類型
在array中取到了位置[a,b,c]的元素,不多做解釋。
print(list1[1,1,1]) # 17
2.[]中含有‘:’符號
只有:時,代表取某一維度的全部元素
:前后有數(shù)字時,相當于把那維當做一個list,1:3就代表取索引1,2的元素
其中的關(guān)系給出兩個例子,大家可以思考其中的原理
print(list1[:,:,1]) # 代表取出前兩個維度的所有元素,只要第三維度的1索引元素 ‘'‘ [[ 1 5 9] [13 17 21]] '‘' print(list1[:,1:3,-1]) # 取出第一個維度所有元素,第二個維度的索引1和2的元素,第三個維度倒數(shù)第一個的元素 ''' [[ 7 11] [19 23]] '''
3.None出現(xiàn)的時候
None是用來增加維度的,在哪里出現(xiàn)就給哪里增加1維
print(list1) print(list1[None]) # 相當于在最前面增加一維 print(list1[None].shape) ''' [[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] [[12 13 14 15] [16 17 18 19] [20 21 22 23]]] [[[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] [[12 13 14 15] [16 17 18 19] [20 21 22 23]]]] (1, 2, 3, 4) ''' print(list1) print(list1[:,:,None]) print(list1[:,:,None].shape) ‘'‘ [[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] [[12 13 14 15] [16 17 18 19] [20 21 22 23]]] [[[[ 0 1 2 3]] [[ 4 5 6 7]] [[ 8 9 10 11]]] [[[12 13 14 15]] [[16 17 18 19]] [[20 21 22 23]]]] (2, 3, 1, 4) '‘'
None的作用于np.newaxis的作用是一樣的
下面給出一個例子,大家可以體會一下:
print(list1) print(list1[None,]) print(list1[None,].shape) print(list1[np.newaxis,:]) print(list1[np.newaxis,:].shape) ‘'‘ [[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] [[12 13 14 15] [16 17 18 19] [20 21 22 23]]] [[[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] [[12 13 14 15] [16 17 18 19] [20 21 22 23]]]] (1, 2, 3, 4) [[[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] [[12 13 14 15] [16 17 18 19] [20 21 22 23]]]] (1, 2, 3, 4) '‘'
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python 實現(xiàn)圖與圖之間的間距調(diào)整subplots_adjust
這篇文章主要介紹了python 實現(xiàn)圖與圖之間的間距調(diào)整subplots_adjust,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05社區(qū)版pycharm創(chuàng)建django項目的方法(pycharm的newproject左側(cè)沒有項目選項)
pycharm的newproject左側(cè)沒有出現(xiàn)項目選項的情況下,創(chuàng)建Django項目的解決方法./社區(qū)版pycharm創(chuàng)建django項目的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2020-09-09pytest解讀fixtures之Teardown處理yield和addfinalizer方案
這篇文章主要為大家介紹了pytest解讀fixtures之Teardown處理yield和addfinalizer的方案實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06