2017-04-26 101 views
0

我有兩組數據(dataframes),每個與涉及海誓山盟兩列的重採樣柱(可以稱它們爲x和y),像這樣:大熊貓數據幀的非時間序列

設置1:

x | y 
0.1 | 1 
0.2 | 2 
0.3 | 3 
0.4 | 2 
0.5 | 3 
0.6 | 4 
0.7 | 5 

組2:

x | y 
0.12 | 0 
0.21 | 2 
0.31 | 5 
0.44 | 4 
0.52 | 3 
0.61 | 1 
0.76 | 1 

我要總結兩組的y值(以相等的X點),但是x是稍有錯位。爲了解決這一點,我認爲這將是最好的0.001步驟進行插值從x = 0.12〜0.7兩組,主要有:

mini = max(set1.x.min(), set2.x.min()) 
maxi = max(set1.x.max(), set2.x.max()) 
x_interpolation_points = np.arange(maxi, mini, 0.001) 

# Next step: interpolate both sets 
# last step: sumY = set1.y + set2.y 

如何將一個accomplisch呢?在一個timeserie我會用重採樣()的情況下,內插(),但這不是一個timeserie ..

+0

你可以'interpolate'在一個正常的一系列參見[文檔](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.interpolate.html#pandas.Series.interpolate) – EdChum

+0

那是什麼我想,但在文檔我沒有看到如何插值到特定值的任何選項。 – Yorian

+0

爲什麼不只是'set2 ['x'] = set2 ['x']。round(1)'這樣值匹配?或者你想要插入Set1,以便它恰好與Set2匹配?因此,你可以做'set1.set_index( 'X')重新索引(np.arange(全型,小型,0.001) )'然後如果我做到這一點,你可以'合併這 – EdChum

回答

0

最後我解決它使用numpy的:numpy.interp()