NumPy 如何跳过数组的每第 N 个索引

NumPy 如何跳过数组的每第 N 个索引

在Python中,我们可以使用一些内置函数,如array()、len()、append()和mod(),来跳过NumPy数组的每第 N 个索引。有许多方法可以跳过NumPy数组的第 N 个索引。NumPy的取模技术是其中一种选择。我们可以首先使用numpy.arange()方法将数组排列成均匀间隔的区间块。然后,使用第 N 个索引,将np.mod()技术应用于生成的区间列表,并计算每个元素的模数。

语法

以下示例中使用了以下语法:

array()

这是一个内置的方法,它以列表作为输入。

mod(first_item, Second_item)

模除运算符通过将第一个项目除以第二个项目返回剩余的数字。

arange()

这是Python中的内置方法,可用于设置数组的数值范围。

len()

这是Python中的一个内置方法,用于查找对象的长度。

append()

append方法接受一个参数,将整数添加到给定列表的末尾。

示例1

在下面的示例中,通过导入名为numpy的模块并取别名np开始程序。然后使用np.mod()方法,这个方法对列表进行迭代,并将每个模运算元素与第N个索引进行计算。原始数组中模运算结果不为0的元素被返回作为最终列表的结果。

import numpy as np
x = np.array([10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140])
new_arr = x[np.mod(np.arange(x.size), 5) != 0]
print("After Skipping the Nth index:")
print(new_arr)

输出

After Skipping the Nth index:
[ 20  30  40  50  70  80  90 100 120 130 140]

示例2

在下面的示例中,通过提到名为numpy的模块并将其引用为np来启动程序。然后使用array方法将所有数字转换为列表并将其存储在变量x中。然后使用len方法找到x的长度。现在使用切片技术删除存在于第0到第4个索引位置之间的数字,并重复相同的过程直到列表的末尾。此过程将存储在变量current_arr中。最后,我们使用变量current_arr打印结果。

# Numpy Slicing
import numpy as np
x = np.array([9, 11, 12, 33, 32, 55, 88, 97, 23, 19, 86, 11, 3])
length = len(x)
current_arr = x[0:length:4]
print("List after n=4th element access:")
print(current_arr)

输出

List after n=4th element access:
[ 9 32 23  3]

示例3

在以下示例中,我们将跳过数组中数字的偶数索引位置。开始程序时,导入名为numpy的模块并将对象引用命名为np。然后使用array()方法将整数转换为列表,并将其存储在变量num中。然后设置第N个索引,即n=2,这将删除偶数索引位置。接下来,使用空列表变量emp_arr存储删除偶数索引位置整数之后的其余整数。继续使用for循环,其中整数i迭代到原始数组即num中,然后使用if语句,在遍历每个索引位置时将所有元素追加到新列表中,而不包括第N个索引元素。所有这些过程将存储在变量emp_arr中。最后,我们使用变量emp_arr打印结果。

import numpy as np
num = np.array([124, 301, 627, 387, 812, 113, 145, 65])
n = 2 # Nth index to set the removal of an even position
# store the present number after skipping the Nth position
emp_arr = [] 
cnt = 0
for i in num:
   if cnt % n != 0:
      emp_arr.append(i)
   cnt += 1
print("Array after skipping nth element:\n",emp_arr)

输出

Array after skipping nth element:
 [301, 387, 113, 65]

结论

我们讨论了在程序中跳过给定数组的第N个索引位置的不同方法。最重要的部分是NumPy模块,也被称为复杂数学运算的强大库,在数据科学、数据分析和机器学习等各个领域都有广泛的应用。它通过使用多维数组对象来克服较慢的执行,并且具有用于操纵数组的内置函数,如append()、arange()、len()等。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程