2015-10-20 71 views
1

我需要對數據幀進行上採樣,使得當前索引(均勻間隔開始)之間存在整數步(大致)均勻間隔。具體來說,我有年度數據,我想重新採樣,以便每行當前行之間有14行間隔。這些將在稍後用插值填充。Upsample具有當前頻率整數倍數的熊貓數據幀

下面是一個例子數據幀,以更好地說明這個問題:

   A   B   C 
1980-01-01 0 1.000000 -0.871623 
1981-01-01 25 3.162278 -0.186602 
etc... 

我要的是重新採樣,使我得到這樣的

   A   B   C 
1980-01-01 0 1.000000 -0.871623 
1980-02-01 NaN   NaN  NaN 
1980-03-01 NaN   NaN  NaN 
1980-04-01 NaN   NaN  NaN 
1980-05-01 NaN   NaN  NaN 
1980-06-01 NaN   NaN  NaN 
1980-07-01 NaN   NaN  NaN 
1980-08-01 NaN   NaN  NaN 
1980-09-01 NaN   NaN  NaN 
1980-10-01 NaN   NaN  NaN 
1980-11-01 NaN   NaN  NaN 
1980-12-01 NaN   NaN  NaN 
1981-01-01 25 3.162278 -0.186602 

但與分年日期的方法大致均勻分成15個區間(而不是像這種情況一樣被限制在熊貓頻率上)。

回答

0

我想出了一個可行的解決方案,只要你不介意從日期時間格式轉換索引。我相信可以將其轉換回日期時間格式,但在我的情況下,這不是必需的。這裏有一個例子(假設你有一個數據幀df,它有一個日期時間索引):

n_intervals = 15 
delta  = 1.0/n_intervals 
base_index = df.index.year 
df.index = base_index 
new_index = np.arange(base_index.min(), base_index.max()+delta, delta) 

df = df.reindex(new_index, tolerance=0.000001, method='nearest') 
df.interpolate('cubic', inplace=True)