我正在尝试从 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/