gpt4 book ai didi

python - 取数组中每2个数据点的平均值,创建一个新数组

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

我试图取数组中每两个值的平均值并将新数据存储在新数组中。

这是我所能得到的:

y1 = np.array([1,2,3,4,5,6,7,8,9,10])

avgy = [0]*(len(y1)//2)

for i in range (0, len(y1)-1):
if (2*(1+i)<=len(y1)):
avgy[i] = ( y1[i+2[i]] + y1[2+2*i] )/2

print(avgy)

这是我收到的错误消息:

TypeError                                 Traceback (most recent call last)
<ipython-input-8-624d78987390> in <module>()
9 for i in range (0, len(y1)-1):
10 if (2*(1+i)<=len(y1)):
---> 11 avgy[i] = ( y1[i+2[i]] + y1[2+2*i] )/2
12
13 print(avgy)

TypeError: 'int' object is not subscriptable

如果您能提供任何帮助,我将不胜感激。奥利弗

最佳答案

y1 = np.array([1,2,3,4,5,6,7,8,9,10)]

avgy = ((y1 + np.roll(y1,1))/2.0)[1::2]

编辑:此方法的运行速度比使用 for 循环快约 20 倍,比使用 zip 和列表理解快约 90 倍。

关于python - 取数组中每2个数据点的平均值,创建一个新数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55171596/

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