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()等。