我试图通过'开始日期'来比较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
实现这一目标的最简单方法是什么?
答案 0 :(得分:1)
这将设置' kWh'的值。 df1
的col与df2
的千瓦时值的总和,其中起始日期和结束日期包括df1
的特定索引。希望它有所帮助
df1['kWh'] = map(df2[(df2['Start Date'] >= x) & (df2['End Date'] < x)]['kWh'].sum, df1.index)