萌萌的大宇宙 发表于 2024-2-25 04:30:38

python array中关于[a,b,c]的使用方式

不论是用numpy或者是tensorflow,在机器学习的过程中常常会用到[]来提取array中的元素,但是再找了很多的资源之后发现并没有比较好的解释
我在尝试之后给出list[]的用法和解析,希望能帮到大家

以这样的数据为例

list1 = np.arange(24).reshape()
‘'‘
[[[ 0123]
[ 4567]
[ 89 10 11]]

[

]]
'‘'
1.类型

在array中取到了位置的元素,不多做解释。
print(list1)
# 17
2.[]中含有‘:’符号

只有:时,代表取某一维度的全部元素
:前后有数字时,相当于把那维当做一个list,1:3就代表取索引1,2的元素
其中的关系给出两个例子,大家可以思考其中的原理
print(list1[:,:,1]) # 代表取出前两个维度的所有元素,只要第三维度的1索引元素
‘'‘
[[ 159]
]
'‘'

print(list1[:,1:3,-1]) # 取出第一个维度所有元素,第二个维度的索引1和2的元素,第三个维度倒数第一个的元素
'''
[[ 7 11]
]
'''
3.None出现的时候

None是用来增加维度的,在哪里出现就给哪里增加1维
print(list1)
print(list1) # 相当于在最前面增加一维
print(list1.shape)
'''
[[[ 0123]
[ 4567]
[ 89 10 11]]

[

]]
[[[[ 0123]
   [ 4567]
   [ 89 10 11]]

[
   
   ]]]
(1, 2, 3, 4)
'''

print(list1)
print(list1[:,:,None])
print(list1[:,:,None].shape)

‘'‘
[[[ 0123]
[ 4567]
[ 89 10 11]]

[

]]
[[[[ 0123]]

[[ 4567]]

[[ 89 10 11]]]


[[]

[]

[]]]
(2, 3, 1, 4)
'‘'None的作用于np.newaxis的作用是一样的
下面给出一个例子,大家可以体会一下:
print(list1)
print(list1)
print(list1.shape)
print(list1)
print(list1.shape)

‘'‘
[[[ 0123]
[ 4567]
[ 89 10 11]]

[

]]
[[[[ 0123]
   [ 4567]
   [ 89 10 11]]

[
   
   ]]]
(1, 2, 3, 4)
[[[[ 0123]
   [ 4567]
   [ 89 10 11]]

[
   
   ]]]
(1, 2, 3, 4)
'‘'
总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。                                                         

来源:https://www.jb51.net/python/3162577o6.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: python array中关于[a,b,c]的使用方式