【问题标题】:Deleting the last x amount of indexes in an Numpy Array Python删除 Numpy Array Python 中的最后 x 个索引
【发布时间】:2021-08-25 21:44:48
【问题描述】:

如何编写一个函数来删除 numpy 数组中最后 X 个索引而不使用 for 循环?

to_be_deleted_indexs= 4
A = np.array([2,3,55,6,7,3,2,5,6,7,11])

预期输出:

[2,3,55,6,7,3,2]

【问题讨论】:

  • 您是要从 A 中物理移除最后四个元素,还是获取一个没有最后四个元素的 A 副本?
  • 物理不是我会做的副本A[:]否则
  • 您不能“物理”删除。 A1=A[:-4] 是没有最后一个 x 的 viewA 仍然具有所有值。 edit 我收回这一点,在某些情况下您可以使用A.resize(7)。但通常我们只是切片。

标签: arrays python-3.x numpy indexing


【解决方案1】:

您可以使用resize 方法只要 A 不与任何其他数组共享内存:

A.resize(A.shape[0] - to_be_deleted_indexs)
#array([ 2,  3, 55,  6,  7,  3,  2])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-23
    • 2021-02-13
    • 1970-01-01
    • 2021-09-28
    • 2019-11-18
    • 1970-01-01
    • 1970-01-01
    • 2014-02-08
    相关资源
    最近更新 更多