为了账号安全,请及时绑定邮箱和手机立即绑定

基于其他数据帧的数据帧的条件填充

基于其他数据帧的数据帧的条件填充

皈依舞 2021-06-10 14:41:46
我有两个数据框。第一个数据帧df包含 5 分钟(返回)数据和索引的小时和分钟import pandas as pddates = pd.date_range(start='2018-01-01', end='2018-01-05', freq='5T')df = pd.DataFrame(np.random.randn(len(dates),1), index=dates, columns=list(['Ret']))df['Hour'] = df.index.hourdf['Minute'] = df.index.minutetmp = df['Ret'].groupby([df['Hour'],df['Minute']]).mean().to_frame()所以现在tmp包含一个多索引数据帧,它有两个级别的小时和分钟。我现在想要做的是创建一个新列,在df其中我从数据框中选择正确的值tmp并将它们放回df数据框中。所以基本上我想df通过查找df['Hour']和df['Minute']输入tmp并返回正确的值来创建一个新列,但我似乎无法让它工作。
查看完整描述

1 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

使用merge,但要注意语法:


result = df.merge(tmp, left_on=['Hour', 'Minute'], right_index=True, how='left')

result.head()

               Ret_x  Hour  Minute     Ret_y

2018-01-01 -0.751599     0       0 -0.035756

2018-01-02 -0.650874     0       0 -0.035756

2018-01-03 -1.110701     0       0 -0.035756

2018-01-04  0.944097     0       0 -0.035756

2018-01-05  1.390296     0       0 -0.035756


查看完整回答
反对 回复 2021-06-29
  • 1 回答
  • 0 关注
  • 131 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号