我想这有点不对劲。我有一个数组的数据集,我正试图执行一些分析。这就是我想做的。例如,下面是数组
signal=[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1...]
,我想把存储在某处的数据点0:3
,我需要它们,并且用零替换那些0:3
。我就是这样做的,但是最终结果是正确的,但是存储的0:3
数据点也变成了零。有人能帮帮我吗。我认为这是一件简单的事情,但我已经为此奋斗了几天。提前谢谢!你知道吗
这是我的密码:
n = len(signal)
for i in range(n):
first_3points = signal[0:3]
signal[0:3] = 0
trancated_signal = signal
我会很高兴看到我哪里出错了!你知道吗
使用普通列表而不是numpy非常简单:
原始代码中的循环似乎没有必要。你知道吗
看起来你的应用程序更适合使用numpy,numpy开发得很好,可以处理表示信号样本的数组。您可能已经在使用numpy了,因为如果
signal
是一个列表,那么赋值signal[0:3] = 0
将引发一个TypeError
。下面是我使用numpy的方法:请注意,如果您不将
first3
作为signal
中第一个元素的副本,它只会成为signal
的视图,当您更改signal
中的元素时,也会更改first3
。如果我正确理解了您的问题,那么您正在尝试在更改first3
之前保存signal
中的原始元素。你知道吗相关问题 更多 >
编程相关推荐