2024-10-05 13:15:38 发布
网友
假设我有两个DataFrames:intraday每分钟有一行,daily每天有一行。在
DataFrames
intraday
daily
如何添加一列intraday['some_val'],其中some_val取自daily['some_val']行,其中intraday.index值(日期组件)等于daily.index值(日期组件)?在
intraday['some_val']
some_val
daily['some_val']
intraday.index
daily.index
给定以下设置
intraday = pd.DataFrame(index=pd.date_range('2016-01-01', '2016-01-07', freq='T')) daily = pd.DataFrame(index=pd.date_range('2016-01-01', '2016-01-07', freq='D')) daily['some_val'] = np.arange(daily.shape[0])
您可以从两个索引的日期组件创建一个列,并在该列上合并
date some_val 0 2016-01-01 0 1 2016-01-01 0 2 2016-01-01 0 3 2016-01-01 0 4 2016-01-01 0 ... ... ... 8636 2016-01-06 5 8637 2016-01-06 5 8638 2016-01-06 5 8639 2016-01-06 5 8640 2016-01-07 6
或者,您可以利用自动索引对齐,并使用fillna。在
fillna
intraday['some_val'] = daily['some_val'] intraday.fillna(method='ffill', downcast='infer')
some_val 2016-01-01 00:00:00 0 2016-01-01 00:01:00 0 2016-01-01 00:02:00 0 2016-01-01 00:03:00 0 2016-01-01 00:04:00 0 ... ... 2016-01-06 23:56:00 5 2016-01-06 23:57:00 5 2016-01-06 23:58:00 5 2016-01-06 23:59:00 5 2016-01-07 00:00:00 6
注意,只有当daily索引的时间分量是00:00时,这才有效。在
00:00
给定以下设置
您可以从两个索引的日期组件创建一个列,并在该列上合并
^{pr2}$或者,您可以利用自动索引对齐,并使用
fillna
。在注意,只有当
daily
索引的时间分量是00:00
时,这才有效。在相关问题 更多 >
编程相关推荐