0
我有一個熊貓數據框,包含多個位置(由座標x
定義)不同時間步長的值。我想創建一個pandas.Series
對象,其中包含所有時間步(給定數據幀的所有索引值)的給定位置x
處的值。如果x
不是列標籤之一,我想插入兩個最接近的x
值之間。通過內插列標籤從熊貓數據框中選擇一個系列
從數據框對象(min(x)=0
和max(x)=0.28
)的摘錄:
0.000000 0.007962 0.018313 0.031770 0.049263 0.072004
time (s)
15760800 0.500481 0.500481 0.500481 0.500481 0.500481 0.500481
15761400 1.396126 0.487198 0.498765 0.501326 0.500234 0.500544
15762000 1.455313 0.542441 0.489421 0.502851 0.499945 0.500597
15762600 1.492908 0.592022 0.487835 0.502233 0.500139 0.500527
15763200 1.521089 0.636743 0.490874 0.500704 0.500485 0.500423
15763800 1.542632 0.675589 0.496401 0.499065 0.500788 0.500335
我可以想辦法通過切片可用列標籤數據幀。但有沒有一種優雅的方式來進行插值?
最後我想要一個看起來像這樣的函數:result = sliceDataframe(dataframe=dfin,x=0.01)
,結果是一個pandas.Series
對象,所以我可以在另一個後處理腳本中的一行(或兩個)中調用它。
我不想和一個虛構的點來調整數據幀。有沒有辦法在不添加列的情況下使用插值選項?如果不是,那麼我想我會選擇第一個解決方案。 – tvandenbrande 2014-11-03 15:09:41
不,熊貓插值方法始終填充DataFrame中的NaN。但也許有可能使用基本的scipy插值方法。但是,一旦您選擇了兩個相鄰的列,插值本身只是一條簡單的線性插值線,我不知道這是值得使用的。 – joris 2014-11-03 15:12:21
實現了第一個選項,工作正常,速度足以進行後期處理。謝謝 – tvandenbrande 2014-11-03 15:18:10