Ben*_*enL 0 python arrays for-loop numpy
我有一个数据集,其中包含以尺寸(1x240)为单位的numpy数组的20年月平均值。我正在尝试编写一个函数来计算年度平均值。我已经设法使用for循环来做到这一点,但是当我将完全相同的代码粘贴到函数中时,它只给了我应该是20个值的第一个。
def yearlymean_gm(gm_data):
data= np.load(gm_data)
for i in range (0,20):
average= data[i*12:i*12+12].sum()/12
print average
return average
Run Code Online (Sandbox Code Playgroud)
gm_data是文件的名称。
当我只是手动输入
data= np.load(gm_data)
for i in range (0,20):
average= data[i*12:i*12+12].sum()/12
print average
return average
Run Code Online (Sandbox Code Playgroud)
它成功读取了20个值。我很确定我只是不太了解for循环在函数上下文中的工作方式。任何解释(如果可能的话,还有一个解决方法)都很棒。
其次,我希望将这些值输入到numpy数组中。我试过了
def yearlymean_gm(gm_data):
data= np.load(gm_data)
average = np.zeroes(20)
for i in range (0,20):
average[i]= data[i*12:i*12+12].sum()/12
print average
return average
Run Code Online (Sandbox Code Playgroud)
但这给了我长长而古怪的清单。帮助也很酷。谢谢!
小智 5
为什么不完全避免“ for”循环?
def yearlymean_gm(gm_data):
data = np.load(gm_data)
data = data.reshape((12, 20))
print data.mean(axis=1)
return data.mean(axis=1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2608 次 |
| 最近记录: |