2024-05-23 21:32:11 发布
网友
我有以下格式的数据格式:
t1 x1 t2 NaN t3 NaN t4 x4 t5 x5 t6 NaN t7 x7
等等。我想使用第一列对第二列中的数据进行插值。所以,数字是x2和x3,我不希望它们在x1和x4之间等距排列,而是相对于x1和x4排列,就像t2和t3相对于t1和t4排列一样。有没有一种有效的方法(不使用for循环)来实现这一点?谢谢大家!
如果您的时间是索引,或者如果可以将其作为索引,您可以通过以下方式实现:
df.set_index('col1',inplace=True) #only if they are not already index df['col2'] = df['col2'].interpolate(method='index')
另一种方法是制作一个虚拟df,或者像其他解决方案所示,使用numpy插值
我们可以做numpy.interp
numpy.interp
s=np.interp(df['col1'].values, df.dropna()['col1'].values, df.dropna()['col2'].values) df['col2_new']=s
如果您的时间是索引,或者如果可以将其作为索引,您可以通过以下方式实现:
另一种方法是制作一个虚拟df,或者像其他解决方案所示,使用numpy插值
我们可以做
numpy.interp
相关问题 更多 >
编程相关推荐