Python - NumPy 数组列删除


在本问题陈述中,我们需要使用 Python 中的 NumPy 数组执行删除操作以删除列。有时我们需要从数据集中删除一些数据,这时此问题可以帮助解决它。

理解问题

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

上述问题的逻辑

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

算法

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

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

  • 步骤 3 - 然后使用 NumPy 库的 delete 函数并传递索引的轴,在本例中我们传递 1,因为我们需要删除或删除列。

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

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

示例

#Import numpy library as nmp
import numpy as nmp

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

# Initialize the numpy array
numpy_array = nmp.array([['Cyan', 'Red', 'Black'],
               ['Peach', 'Blue', 'Pink'],
               ['Green', 'White', 'Grey']])
               
# Call the function to delete the second column
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 数组中删除列的代码。

更新于: 2023-10-18

173 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.