python arrayにおける[a,b,c]の使用方法の詳細
2042 ワード
numpyでもtensorflowでも、機械学習の過程でarrayの要素を抽出するために[]を使うことが多いが、多くの資源を探した後、比較的良い解釈がないことに気づいた.私は試した後にlist[]の使い方と解析を提供し、大家に役立つことを望んでいる.
このようなデータを例にとると[a,b,c]タイプ arrayで位置[a,b,c]の要素を取り,あまり説明しない.[]に':'記号 が含まれています.
のみ:の場合、ある次元のすべての要素を表します:前後に数字がある場合、その次元をリストとして、1:3はインデックス1,2を表す要素です.
その関係は2つの例を示しており、その原理を考えることができます. Noneが現れた時 Noneは次元を追加するために使用され、どこに現れるかで1次元を追加します.
Noneの役割はnp.newaxisの役割は同じですが、次の例を挙げてみましょう.
このようなデータを例にとると
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]]]
’‘’
print(list1[1,1,1])
# 17
のみ:の場合、ある次元のすべての要素を表します:前後に数字がある場合、その次元をリストとして、1:3はインデックス1,2を表す要素です.
その関係は2つの例を示しており、その原理を考えることができます.
print(list1[:,:,1]) # , 1
‘’‘
[[ 1 5 9]
[13 17 21]]
’‘’
print(list1[:,1:3,-1]) # , 1 2 ,
'''
[[ 7 11]
[19 23]]
'''
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)
’‘’