numpy 数组切片索引

import numpy as np
a=np.array([ [1,2,3],[4,5,6],[7,8,9]])
  • 如何获得第零个索引列?预期输出[[1],[2],[3]] a[...,0]给出一维数组。也许下一个问题回答了这个问题。

  • 如何获得最后两列aa[...,1:2]仅给出第二列,a[...,2:3]给出最后 2 列,但a[...,3]维度无效。那么它是怎样工作的?

顺便说一句,operator...:有相同的含义吗?a[...,0]a[:,0]给出相同的输出。有人可以在这里发表评论吗?


慕村225694
浏览 111回答 2
2回答

白衣染霜花

numpy索引建立在python列表约定之上,但扩展到多维和多元素索引。它功能强大,但复杂,但迟早您应该阅读完整的indexing文档,该文档区分“基本”和“高级”索引。与rangeand一样arange,切片索引具有“打开”停止值In [111]: a = np.arange(1,10).reshape(3,3)                                                       In [112]: a                                                                                      Out[112]: array([[1, 2, 3],       [4, 5, 6],       [7, 8, 9]])使用标量进行索引会减少维度,无论在哪里:In [113]: a[1,:]                                                                                 Out[113]: array([4, 5, 6])In [114]: a[:,1]                                                                                 Out[114]: array([2, 5, 8])这也意味着a[1,1]回报5,而不是np.array([[5]])。使用切片索引会保留维度:In [115]: a[1:2,:]                                                                               Out[115]: array([[4, 5, 6]])使用列表或数组进行索引也是如此(尽管这会产生 a copy,而不是 a view):In [116]: a[[1],:]                                                                               Out[116]: array([[4, 5, 6]])...是一个广义的:- 使用尽可能多的需要。In [117]: a[...,[1]]                                                                             Out[117]: array([[2],       [5],       [8]])您可以调整尺寸newaxis或重塑:In [118]: a[:,1,np.newaxis]                                                                      Out[118]: array([[2],       [5],       [8]])请注意,尾随:是自动的。 a[1]是一样的a[1,:]。但主要的必须是明确的。列表索引还删除了“维度/嵌套层”In [119]: alist = [[1,2,3],[4,5,6]]                                                              In [120]: alist[0]                                                                               Out[120]: [1, 2, 3]In [121]: alist[0][0]                                                                            Out[121]: 1In [122]: [l[0] for l in alist]     # a column equivalent                                                                  Out[122]: [1, 4]

眼眸繁星

import numpy as npa=np.array([ [1,2,3],[4,5,6],[7,8,9]])a[:,0] # first colomn>>> array([1, 4, 7]) a[0,:] # first row>>> array([1, 2, 3])a[:,0:2] # first two columns>>> array([[1, 2],       [4, 5],       [7, 8]])a[0:2,:] # first two rows>>> array([[1, 2, 3],       [4, 5, 6]])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python