gpt4 book ai didi

python - 在 Python 中将整数 append 到空 NumPy 数组

转载 作者:太空宇宙 更新时间:2023-11-03 19:02:14 25 4
gpt4 key购买 nike

我有一个 NumPy 数组,用于存储信号信息。在下面的代码中,为了方便起见,我刚刚从随机数创建了它。现在我需要根据标准从信号数组中选择位置。为了简洁起见,我再次简化了以下标准。我试图通过将这些位置 append 到一个名为“位置”的空 NumPy 数组来存储这些位置。我知道我对 NumPy.append() 函数的使用一定是错误的。我尝试调试它,但找不到错误。我做错了什么?

import numpy as np
import numpy.random as random

signal = random.randint(1,10000,1000)

positions = np.array([],dtype = int)
for i in range(0,len(signal)):
if((signal[i] % 3 == 0) or (signal[i] % 5 == 0)):
print(i)
np.append(positions,i)

print(positions)

编辑:

我实际上需要它在 for 循环中运行,因为 if() 中的条件是一个将被更改的数学表达式> 如果满足条件,则根据某些规则(在此处发布会很复杂)。

最佳答案

您不需要为此使用显式循环:

positions = np.where((signal % 3 == 0) | (signal % 5 == 0))[0]

这里,(信号% 3 == 0) | (signal % 5 == 0)signal 的每个元素评估条件,np.where() 返回条件为 true 的索引。

如果您必须在循环中 append 到位置,这里是一种方法:

positions = np.hstack((positions, [i]))

关于python - 在 Python 中将整数 append 到空 NumPy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15740137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com