如何解决如何引用numpy数组的列?
我试图将NumPy数组引用为python列表。 这就是我尝试过的
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
print(np.shape(a))
print(np.shape(a[:2][:]))
print(a[:2][:])
print(np.shape(a[:][:2]))
print(a[:][:2])
输出:
(3,3)
(2,3)
[[1 2 3]
[4 5 6]]
(2,3) # expecting (3,2)
[[1 2 3]
[4 5 6]] # expecting [[1 2],[4 5],[6 7]]
解决方法
Nvm,
对于numpy数组,我应该使用[x,y,z]
而不是[x][y][z]
。
a[:]
返回整个2D数组a
。因此,您的代码a[:][:2]
被解释为(a[:])[:2]
,与a[:2]
相同。
在NumPy中,不同的尺寸在相同的括号内进行访问,并用逗号分隔。因此,您的两个示例应该是:
print(np.shape(a[:2,:])) # or just a[:2]
print(a[:2,:])
print(np.shape(a[:,:2]))
print(a[:,:2])
产生预期的输出。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。