📜  如何使用 NumPy 删除仅包含 0 的数组行?(1)

📅  最后修改于: 2023-12-03 15:08:23.138000             🧑  作者: Mango

如何使用 NumPy 删除仅包含 0 的数组行?

在 NumPy 中,我们可以使用 np.delete() 函数来删除数组中的元素或子数组。

删除数组中仅包含 0 的行可以通过以下步骤完成:

  1. 使用 np.where() 函数获取数组中元素值为 0 的索引;
  2. 使用 np.unique() 函数获取行索引;
  3. 使用 np.delete() 函数删除行索引对应的行。

下面是完整的代码实现:

import numpy as np

# 创建示例数组
arr = np.array([[0, 0, 0], [1, 2, 3], [0, 0, 0], [4, 5, 6]])

# 查找元素为 0 的索引
zero_index = np.where(arr == 0)

# 获取行索引
row_index = np.unique(zero_index[0])

# 删除行索引对应的行
new_arr = np.delete(arr, row_index, axis=0)

print(new_arr)

输出结果为:

[[1 2 3]
 [4 5 6]]

通过以上操作,我们成功删除了数组中仅包含 0 的行。