首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何索引倒数第二个追加的行?Numpy和Python

如何索引倒数第二个追加的行?Numpy和Python
EN

Stack Overflow用户
提问于 2019-04-22 06:04:19
回答 2查看 198关注 0票数 0

我对此困惑了很长一段时间。如何索引倒数第二个追加的行?

我尝试了几乎所有可能的索引组合,试图索引倒数第二个追加的行,所有这些都返回最后一行或错误。以下是我尝试过的一些方法(在这些方法中切换数字):-1、arr-1、0、arr-2、1、arr-2、:等。

代码语言:javascript
复制
r= is an array formatted like so [[300 240 22 22]] 

arr=[] #shape is (0,)
for (x, y, w, h) in r:
    wm=int(x+ (w/2.))
    hm=int(y+ (h/2.))
    arr.append([numpy.float32(wm), numpy.float32(hm)])
return numpy.array(arr)

这会产生索引数组(在空闲时)读取(我复制了数组的最后两个块):

代码语言:javascript
复制
[[293.51373 323.4329 ]
  [247.77493 316.02783]]

[[292.9887  322.23425]
 [247.24142 314.2921 ]]

the shape of the returned array is (2,2) and is dtype:float32

在我的程序中,它显示为(相同的数组)

--wm元素-hm元素

[[293.51373 323.4329 ][247.77493 316.02783]]我认为这是倒数第二行

[[292.9887 322.23425][247.24142 314.2921 ]]和我以为这是最后一排

这给我带来了一些困惑,因为它们显示的有点不同(空闲的显示数组是2行,另一个显示的是一条直线)

以下是索引方法(以及数组)的一些示例(这些是数组中最后两个连续的行):

代码语言:javascript
复制
arr [[255.44836 280.92575] # i want to index this line
 [298.6107  285.75986]]
arr[-1] [298.6107  285.75986]
arr[-2] [255.44836 280.92575]
arr[-2][0] 255.44836
arr[:,0] [255.44836 298.6107 ]
arr[-1,:] [298.6107  285.75986]
arr[-2,0] 255.44836

arr [[255.35194 281.08353] # along with this line
 [298.45673 285.88693]]
arr[-1] [298.45673 285.88693]
arr[-2] [255.35194 281.08353]
arr[-2][0] 255.35194
arr[:,0] [255.35194 298.45673]
arr[-1,:] [298.45673 285.88693]
arr[-2,0] 255.35194  

其他时候,当我试图索引倒数第二行时,它会显示一个轴错误,这可能是问题所在(追加没有添加新行,而这正是我试图索引的,而是覆盖了旧值)。我不知道。因此,我尝试将追加方法切换为:concatenate、vstack、pandas。但这并不管用。

我所要做的就是找出wm元素(在示例280.92575-281.08353中)中第二列的倒数第二行和倒数第二行之间的差异,以及wm元素的第一列(255.44836-255.35194)之间的差异。所有不同的索引方法都没有提取倒数第二行,而只是最后一行。请告诉我是否有不同的方式来索引倒数第二行,或者是否有其他的索引方法。抱歉,如果它是混乱的,仍然习惯于此。我可以试着澄清任何困惑。提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-22 12:56:59

这两个显示是一样的,一个(2,2)形状数组。

代码语言:javascript
复制
[[293.51373 323.4329 ]
 [247.77493 316.02783]]

[[293.51373 323.4329 ][247.77493 316.02783]]

标记数组结构的是括号[],而不是换行符。

票数 0
EN

Stack Overflow用户

发布于 2019-04-22 06:31:37

我想你要找的答案是:

代码语言:javascript
复制
Arr[-2::2]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55787163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档