【发布时间】:2018-02-03 16:14:41
【问题描述】:
我目前正在尝试找到一种快速导出列的方法。更准确地说,我有两个数据框:第一个有两列('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
有没有办法在没有循环的情况下做到这一点?通过矢量方式?
感谢您的宝贵时间。
【问题讨论】:
-
修复我的答案?我不明白..你的意思是我需要在我的问题中添加数据框的例子吗?
-
*问题...我的错。是的!我愿意。
-
能否提供可重现的样本数据:)
-
我正在做,请稍等!
-
现在更清楚了吗?