我从光栅计算数组时发现了这个问题:
with rasterio.open(file) as ds:
arr3d=ds.read()
arr3d=np.ma.masked_where(arr3d==-32768,arr3d,False)
list=[]
for i in range(0,24):
tmean=arr3d[i,:,:].mean()
list.append(tmean)
我只想得到包含24个平均值的列表,但是这段代码返回了包含arr3d的每一层、其掩码层和平均值的列表。在
^{pr2}$但是当我尝试arr3d[i,:,:].mean()
时,只返回了一个没有任何数组的平均值。
arr.mean()
和{
np.mean()
返回一个值:(1)如果平均值是沿展平数组计算的,或者数组是一维的,或者(2)一个值数组,其中每个轴的平均值都是。因为这很容易混淆,我建议始终显式地将axis
参数传递给np.mean()
函数。如果你不通过一个轴,它取扁平数组的平均值。对于.mean()
函数也是如此,它们实际上是相同的函数。在我建议明确传递要计算平均值的轴:
那么}的第一个轴中相同数量的元素。您目前正在通过手动迭代24个元素来实现这一点,但您可以删除此步骤。在
means
将始终具有与{相关问题 更多 >
编程相关推荐