【发布时间】:2016-06-23 03:06:09
【问题描述】:
我有以下 Pandas DataFrame:
import datetime as dt
import pandas as pd
import numpy as np
offset = 3 * pd.tseries.offsets.BMonthEnd()
bond_index_1 = pd.date_range('1/1/14', '1/1/18', freq=offset, name='date')
bond_1 = pd.DataFrame(data = np.random.uniform(0, 5, 16),
index= bond_index_1, columns=['cash_flow'])
bond_index_2 = pd.date_range('3/1/14', '3/1/21', freq=offset, name='date')
bond_2 = pd.DataFrame(data = 2*np.random.uniform(0, 10, 28),
index= bond_index_2, columns=['cash_flow'])
df_merged = pd.concat([bond_1, bond_2], keys=['Bond_1', 'Bond_2'])
如何按自定义范围获取cash_flow 列中值的总和,该范围从 2014 年 6 月 30 日开始,以 6 个月为间隔在 2016 年 12 月 31 日结束。
因此,间隔将类似于 2014-06-30、2015-12-31、2015-06-30、2015-12-31、2016-06-30、2016-12-31
它还会忽略 MultiIndex 中的“键”名称索引。
我已尝试使用 TimeGrouper,但无法使用它,因为 TimeGrouper 从您的时间序列中最早的值开始并向前移动。
【问题讨论】:
标签: python pandas pandas-groupby date-arithmetic