我目前正試圖找到一個快速的方式來派生一列。更準確地說,我有兩個數據框:第一個有兩列('Open_date','Close_date'),第二個是時間序列,索引日期和列'利率'。 我想快速獲得例如我的第一個數據框中所有行的這兩個日期之間利率的平均值。快速的方式來獲取平均值,總和,等..兩個日期之間取決於其他數據幀
因爲一個形象往往比1000個字好,這裏是做它的緩慢方式:
df1 =pd.DataFrame({'Open_date' : np.array(pd.date_range('20130101',periods = 6)),
'Close_date' : np.array(pd.date_range('20130104',periods = 6))
})
df1=df1[ [ 'Open_date','Close_date']]
df2 = pd.DataFrame(np.random.randn(20,1), index=pd.date_range('20130101',periods = 20), columns= ['interest_rate'])
list=[]
for i in range(df1.shape[0]):
list.append(df2.loc[df1['Open_date'][i]:df1['Close_date'][i],:]['interest_rate'].mean())
df1['mean_interest_rate'] = list
有沒有辦法做到這一點沒有一個循環?通過矢量方式?
謝謝你的時間。
修復我的答案?我不明白..你的意思是我需要在我的問題中添加數據框的例子嗎? – JeanGuillaume
*問題...我的不好。是的!我做。 –
你能提供一個可重現的樣本數據:) – Wen