社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

如何在python中获取子数组?

Fire • 5 年前 • 2708 次点击  

这个问题已经有了答案:

所以我有一个数组,我试图从中得到一个子数组。

Array

x = np.arange(0,100).reshape((10, 10))
array([[ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
       [20, 21, 22, 23, 24, 25, 26, 27, 28, 29],
       [30, 31, 32, 33, 34, 35, 36, 37, 38, 39],
       [40, 41, 42, 43, 44, 45, 46, 47, 48, 49],
       [50, 51, 52, 53, 54, 55, 56, 57, 58, 59],
       [60, 61, 62, 63, 64, 65, 66, 67, 68, 69],
       [70, 71, 72, 73, 74, 75, 76, 77, 78, 79],
       [80, 81, 82, 83, 84, 85, 86, 87, 88, 89],
       [90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])

所以,为了得到前两行和前两列,我使用以下命令。但当我试图得到行{5,6,7}和列{3,4,5}时,它并没有给我想要的东西。

x[:2,:2]
x[5:7,3:5]

这就是我需要的,在初始数组中。 What I need 但我不知道怎么得到它。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49620
 
2708 次点击  
文章 [ 3 ]  |  最新文章 5 年前
mukulgarg94
Reply   •   1 楼
mukulgarg94    5 年前

只需对数组进行切片

x[5:8,3:6]

BlivetWidget
Reply   •   2 楼
BlivetWidget    5 年前

要获得指定数组的子集,可以使用x[5:8,3:6]。

请记住,在Python中,切片索引不包括最后一个元素。例如,[0,1,2,3][:1]只给出[0]。

chepner
Reply   •   3 楼
chepner    5 年前

切片是半开的间隔。您需要将每个上限增加一个。

>>> x[5:8,3:6]
array([[53, 54, 55],
       [63, 64, 65],
       [73, 74, 75]])

此外,指数从0开始,这就是为什么 x[:2,:2] 按你期望的方式工作,尽管你的期望值不高。 :2 0:2 ,不是 1:2 .