是否有一个简单的python 3命令可以在多个列上复制matlab的interp1命令?

问题描述 投票:0回答:1

是否有一个简单的python 3命令可以在多个列上复制matlab的interp1命令?

data_1包含两个与time_1时间向量一起使用的参数(每列1个参数)(data_1是5 x 2的数组,在此示例中并未实际使用,因此可以忽略)]

data_2包含两个与time_2时间向量一起使用的参数(每列1个参数)>

import numpy as np
data_2 = np.array([ [ 0.43, -0.54], [ 0.32, -0.83], [ 0.26, -0.94], [ 0.51, -0.69], [ 0.63, -0.74] ])
time_1 = np.array([ 399.87, 399.89, 399.91, 399.93, 399.95 ])
time_2 = np.array([ 399.86, 399.88, 399.90, 399.92, 399.94 ])

我想将data_2 2D数组内插到time_1时间向量中,因此两个数据集将具有相同的时间向量。

所需的输出(仅是time_1时间向量中两个data_2列的np.interp并合并回数组)是:

data_2_i = np.array([[ 0.375, -0.685], [ 0.290, -0.885], [ 0.385, -0.815], [ 0.570, -0.715], [ 0.630, -0.740]])

实际数组将包含大约20列(参数)和数千行(更长的时间范围)。我知道您可以使用np.interp遍历每列,但是我希望有一种更紧凑,更快速的python 3(numpy,scipy,pandas等)方法,但我还没有能够对其进行跟踪。我对python还是很陌生(对matlab更加熟悉)。

[在matlab中,您可以仅在整个多列数组上使用interp1来获取多列结果(尽管边缘情况的处理方式有所不同-在此示例中,NaN与上一个条目相比-我并不担心这里的边缘情况有所不同)。

是否有一个简单的python 3命令可以在多个列上复制matlab的interp1命令? data_1包含两个参数(每列1个参数),它们与time_1时间向量(data_1为5 by ...

python matlab interpolation
1个回答
0
投票

这看起来很有效(我自己做了一个快速脚本):

© www.soinside.com 2019 - 2024. All rights reserved.