我有一个数组,例如:
array = np.arange(0,4,1).reshape(2,2)
> [[0 1
2 3]]
Run Code Online (Sandbox Code Playgroud)
我想对这个数组进行上采样并插入结果值。我知道对数组进行上采样的一个好方法是使用:
array = eratemp[0].repeat(2, axis = 0).repeat(2, axis = 1)
[[0 0 1 1]
[0 0 1 1]
[2 2 3 3]
[2 2 3 3]]
Run Code Online (Sandbox Code Playgroud)
但我无法找到一种方法来插入值以消除数组的每个 2x2 部分之间的“块状”性质。
我想要这样的东西:
[[0 0.4 1 1.1]
[1 0.8 1 2.1]
[2 2.3 3 3.1]
[2.1 2.3 3.1 3.2]]
Run Code Online (Sandbox Code Playgroud)
像这样的东西(注意:这些不会是确切的数字)。我知道可能无法对这个特定的 2D 网格进行插值,但是在我的答案中使用第一个网格,在上采样过程中应该可以进行插值,因为您正在增加像素数,因此可以“填补空白” '。
我对插值的类型不太感兴趣,只要最终输出是平滑的表面!我曾尝试使用 scipy.interp2d 方法但无济于事,如果有人能分享他们的智慧,将不胜感激!
我有一个datetime
对象列表,想要找到与我指定的日期相对应的最接近的5(或6或7等)日期.
例如:
datelist
>>>> [datetime.date(2017, 3, 4), datetime.date(2017, 3, 6), datetime.date(2017, 3, 12), datetime.date(2017, 3, 27), datetime.date(2017, 3, 27), datetime.date(2017, 3, 29), datetime.date(2017, 3, 29), datetime.date(2017, 4, 2), datetime.date(2017, 4, 4)]
Run Code Online (Sandbox Code Playgroud)
如果我输入:
my_date = datetime.date(2017, 4, 2)
nearest_list = find_nearest(datelist, my_date) # Functionality I want!
print nearest_list
>>>> [datetime.date(2017, 3, 27), datetime.date(2017, 3, 29), datetime.date(2017, 3, 29), datetime.date(2017, 4, 2), datetime.date(2017, 4, 4)]
Run Code Online (Sandbox Code Playgroud)
我应该收到最近5个日期的清单.
我知道我可以找到最近的日期并在其中任意一侧取两个列表元素(因为日期列表已排序)但是当最近的日期可能是第一个或最后一个元素(即分别在之前或之后没有项目)时这很难.