如何将索引与python上的行进行比较

时间:2015-10-20 18:07:04

标签: python date pandas

我试图通过'开始日期'来比较df1的索引和日期范围(包括左边)的日期。在df2上的列,以便我可以获得适当的kwH值。

例如:

df1包含:

            50       51
4/3/2013    326.32   193.1
7/2/2013    324.2    192.1
3/5/2014    234.2    0
4/6/2015    302.1    23

^ (指数)

df2包括:

     Start Date  End Date     kWh    
 0   4/3/2013    5/3/2013     76,640 
 1   5/3/2013    9/7/2013     96,640  
 2   1/3/2014    4/7/2014     17,640   
 3   4/7/2014    8/7/2014     16,640 
 4   8/7/2014    2/3/2015     19,291
 5   2/3/2015    4/3/2015     18,291
 6   4/3/2015    5/7/2015     86,640    

如何根据日期索引将另一列(kWh)写入df1,该日期索引属于'开始日期'到结束日期' df2上的列。 (在这种情况下,只关注'开始日期'(包括左侧)

对于一个例子:

            50       51     kWh
4/3/2013    326.32   193.1  76640
7/2/2013    324.2    192.1  96640
3/5/2014    234.2    0      17640
4/6/2015    302.1    23     86640

实现这一目标的最简单方法是什么?

1 个答案:

答案 0 :(得分:1)

这将设置' kWh'的值。 df1的col与df2的千瓦时值的总和,其中起始日期和结束日期包括df1的特定索引。希望它有所帮助

   df1['kWh'] = map(df2[(df2['Start Date'] >= x) & (df2['End Date'] < x)]['kWh'].sum, df1.index)