如何跳过NumPy数组中每第N个索引?
在Python中,我们有一些内置函数,如array()、len()、append和mod(),可以用来跳过NumPy数组中每第N个索引。跳过NumPy数组的第N个索引有很多方法。NumPy取模技术是一种选择。我们可以首先使用numpy.arange()方法将数组排列成均匀间隔的块。然后,使用第N个索引,将np.mod()技术应用于生成的列表间隔,并计算每个元素的模。
语法
以下语法在示例中使用:
array()
这是一个内置方法,它以列表作为输入。
mod(first_item, Second_item)
mod返回第一个数字除以第二个数字的余数。
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()等。