python - Python替换具有不同长度和索引类型的数据帧之间的值
问题描述
我在下面有两个时间序列。df1
有一个带有“月”列的 tz 感知日期时间索引。df2
具有每月的最大小时数,月份成为索引。
df1
Month
Timestamp
2009-01-08 00:00:00+09:30 1
2009-01-09 00:00:00+09:30 1
2009-01-10 00:00:00+09:30 1
2009-04-09 00:00:00+09:30 4
2009-04-13 00:00:00+09:30 4
2009-04-15 00:00:00+09:30 4
2009-10-12 00:00:00+09:30 10
2009-10-16 00:00:00+09:30 10
2009-10-21 00:00:00+09:30 10
df2
Hour
Month
1 10
4 9
10 3
我想返回df1
一个新列“MaxHour”,其值取自 df2 中相应月份的 Hour 列。最终结果应该如下所示。
Month MaxHour
Timestamp
2009-01-08 00:00:00+09:30 1 10
2009-01-09 00:00:00+09:30 1 10
2009-01-10 00:00:00+09:30 1 10
2009-04-09 00:00:00+09:30 4 9
2009-04-13 00:00:00+09:30 4 9
2009-04-15 00:00:00+09:30 4 9
2009-10-12 00:00:00+09:30 10 3
2009-10-16 00:00:00+09:30 10 3
2009-10-21 00:00:00+09:30 10 3
我确实喜欢这样:
df1['MaxHour'] = df1.loc[df1.Month.isin(df2.index), ['Hour']]
产生与我想要的不同的结果。
解决方案
推荐阅读
- python - 从 Python 日期时间字段获取 Excel 中的准确日期格式
- html - jQuery父选择器不适用于两组div
- c# - TabControl - 切换选项卡时将 UserControl TabItems 保留在内存中
- r - 使用反馈给模块的反应值更新单选按钮,R Shiny
- c# - .NET 6 的 System.Text.Json 源代码生成不起作用
- java - Java 11:Object.equals() 方法的奇怪行为
- reactjs - React 组件在本地工作,但只有主页在 Heroku 应用程序中呈现
- python-sphinx - ReadTheDocs 构建错误。无法理解的错误信息
- javascript - node_modules' 未被识别为内部或外部命令
- jquery - 使用 Razor Page Partial 创建动态 html 日期表