lat = cube.extract(iris.Constraint(latitude=lambda x: -5 <= x <= 5))
latlon = lat.intersection(longitude=(-170,-120))
latlon.coord('latitude').guess_bounds()
latlon.coord('longitude').guess_bounds()
grid_areas = iris.analysis.cartography.area_weights(latlon)
weighted_avg = latlon.collapsed(['latitude', 'longitude'], iris.analysis.MEAN, weights=grid_areas)
print (weighted_avg[0:10].data) # This gives a different result every time I run the code