python - 如何从 Numpy 数组中删除最后 n 行?

标签 python arrays numpy

我正在尝试从 numpy 数组中删除最后几行。我可以使用以下代码删除 0 到 i 行。

for i, line in enumerate(two_d_array1):
    if all(v == 0 for v in line):
        pass
    else:
        break

two_d_array2 = np.delete(two_d_array1, slice(0, i), axis=0)

关于如何对数组的末尾做同样的事情有什么建议吗?

for i, line in enumerate(reversed(two_d_array2)):
    if all(v == 0 for v in line):
        pass
    else:
        break

two_d_array3 = np.delete(two_d_array2, **slice(0, i)**, axis=0)

最佳答案

您可以使用 slice索引的符号。

从数组中删除最后 n 行:

a = np.array(range(10)).reshape(5, 2)
>>> a
array([[0, 1],
       [2, 3],
       [4, 5],
       [6, 7],
       [8, 9]])

n = 2  # Remove last two rows of array.
>>> a[:-n, :]
array([[0, 1],
       [2, 3],
       [4, 5]])

从数组中删除前 n 行:

>>> a[n:, :]  # Remove first two rows.
array([[4, 5],
       [6, 7],
       [8, 9]])

关于python - 如何从 Numpy 数组中删除最后 n 行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48633660/

相关文章:

python - Centos 上的 Django django-admin.py 导入问题(enviroment_variable 问题)

python - 用其前后值之间的线性插值替换 numpy 数组中的零

c - 在 C 循环的每次迭代中初始化不同的数组

java - 类的二维数组为空

python - pandas str.contains 匹配多个字符串并获取匹配的值

python - 为 CentOS 6.9 安装 Ipython

python - Pandas 从 dataframe.loc 获取索引列表

c# - 大型多维数组(锯齿状数组)C# 的解决方法?

python - pandas.factorize 与自定义数组数据类型

python - 在键上切片 numpy 字典数组