我有两个一维数组,一个用于测量数据,另一个用于位置.例如,测量数据可以是温度,另一个数组是测量的高度:
temp = np.asarray([10, 9.6, 9.3, ..., -20.3, -21.0]) # Temperature in celsius
height = np.asarray([129, 145, 167, ..., 5043, 5112]) # Height in meters
Run Code Online (Sandbox Code Playgroud)
如您所见,测量的高度不是有规律的间隔.
我想以规则间隔的高度间隔计算平均温度.这是某种移动平均线,但窗口大小是可变的,因为感兴趣区间内的数据点并不总是相同的.
这可以通过以下方式使用for循环来完成:
regular_heights = np.arange(0, 6000, 100) # Regular heights every 100m
regular_temps = []
for i in range(len(regular_heights)-1):
mask = np.logical_and(height > regular_heights[i], height < regular_heights[i+1])
mean = np.mean(temp[mask])
regular_temps.append(mean)
regular_temps = np.hstack((regular_temps))
Run Code Online (Sandbox Code Playgroud)
我不太喜欢这种方法,我想知道是否会有一个更"笨拙"的解决方案.
我正在使用Flask框架和Flask-RESTful插件编写RESTful API.我在Resource
这个插件提供的类之上定义了我的API类,如示例所示.但是,当我想使用该add_resource
方法注册我的类时,我收到以下错误:
AttributeError: type object 'UserAPI' has no attribute 'as_view'
Run Code Online (Sandbox Code Playgroud)
该as_view
方法是Flask Pluggable Views的一部分,也就是View
该类.这个Resource
类建立在这个类的基础之上,而我的UserAPI
类建立在类的顶层Resource
.出于这个原因,该as_view
方法应该是继承的,但事实并非如此.
任何想法可能是问题?
在这里你可以看到我如何定义类:
from app import api, db
from flask.ext.restful import Resource, abort
from models import *
class UserAPI(Resource):
def get(self, user_id):
user = User.query.filter(User.id == user_id)[0]
if user is None:
abort(404, message="User {} doesn't exist".format(user_id))
else:
return {'user' : user}, 201
api.add_resource(UserAPI, '/api/v0.1/users/<int:user_id>', endpoint = 'user')
Run Code Online (Sandbox Code Playgroud)
编辑: …