Python - Numpy 数组列删除

pythonnumpyserver side programmingprogramming

在此问题陈述中,我们必须使用 Python 中的 numpy 数组执行删除操作以删除列。有时我们需要从数据集中删除一些数据,以便此问题有助于解决它。

理解问题

Numpy 库在数据处理和数值计算中非常有用。因此,从数组中删除列是一项非常常见的任务。在这个问题中,我们将使用 numpy 数组并删除一列并在控制台上显示剩余数据。因此,这个问题将使用多维数组。

上述问题的逻辑

解决上述从 Numpy 数组中删除列的问题。由于 Numpy 数组本质上是不可变的,因此我们无法直接删除它们。我们将创建一个新数组并在删除所需列后存储剩余的列。因此,我们将使用 Numpy 的不同函数来删除所需的列。

算法

  • 步骤 1 - 由于我们在代码中使用 Numpy 数组,因此首先我们需要将 numpy 库导入为 nmp。

  • 步骤 2 - 然后我们将启动一个名为 column_delete 的函数,并传递两个参数作为 arr 和 column_index。arr 将是输入的多维数组,column_index 将是要删除的列的索引。

  • 步骤 3 - 然后使用 numpy 库的删除函数并传递索引的轴,在本例中我们传递 1,因为我们必须移除或删除该列。

  • 步骤 4 - 将 numpy 数组初始化为 numpy_array。我们使用 nmp.array 将数组转换为 numpy 数组。

  • 步骤 5 − 现在我们将调用上面创建的函数并传递我们要删除的 numpy 数组和列索引。

示例

# 将 numpy 库导入为 nmp
import numpy as nmp

def column_delete(arr, column_index):
    return nmp.delete(arr, column_index, axis=1)

# 初始化 numpy 数组
numpy_array = nmp.array([['Cyan', 'Red', 'Black'],
               ['Peach', 'Blue', 'Pink'],
               ['Green', 'White', 'Grey']])
               
# 调用函数删除第二列
new_array = column_delete(numpy_array, 1)
print("Before Deletion: \n", numpy_array)
print("\nAfter Deletion \n",new_array)

输出

Before Deletion:
[['Cyan' 'Red' 'Black']
 ['Peach' 'Blue' 'Pink']
 ['Green' 'White' 'Grey']]

After Deletion
 [['Cyan' 'Black']
 ['Peach' 'Pink']
 ['Green' 'Grey']]

复杂性

删除 Numpy 数组列的问题的时间复杂度为 O(m * n)。其中 m 是行数,n 是多维数组中的列数。由于我们要排除列,因此要从给定的输入数组中删除该列并创建一个新数组。

结论

在本文中,我们已成功实现使用 Numpy Python 库的函数和方法从 numpy 数组中删除列的代码。


相关文章