python - 如何按 DatetimeIndex 加入列,从不同年份的数据中匹配日、月和小时?
问题描述
我有一个具有 2019 年气象特征的数据集,我想将 2017 年、2018 年的两列电力消耗数据集加入其中。我想按小时、日和月匹配它们,但数据属于不同的年份。我怎样才能做到这一点?
气象数据集是一个 6 列的类似数据框,其日期时间索引属于 2019 年。
解决方案
您可以从索引中添加 3 个表示小时、日和月的列,并将它们用于以后的连接。DatetimeIndex 具有时间戳不同部分的属性:
import pandas as pd
ind = pd.date_range(start='2020-01-01', end='2020-01-20', periods=10)
df = pd.DataFrame({'number' : range(10)}, index = ind)
df['hour'] = df.index.hour
df['day'] = df.index.day
df['month'] = df.index.month
print(df)
number hour day month
2020-01-01 00:00:00 0 0 1 1
2020-01-03 02:40:00 1 2 3 1
2020-01-05 05:20:00 2 5 5 1
2020-01-07 08:00:00 3 8 7 1
2020-01-09 10:40:00 4 10 9 1
2020-01-11 13:20:00 5 13 11 1
2020-01-13 16:00:00 6 16 13 1
2020-01-15 18:40:00 7 18 15 1
2020-01-17 21:20:00 8 21 17 1
2020-01-20 00:00:00 9 0 20 1
推荐阅读
- scheme - 用 OCaml 计算欧拉常数
- ruby - 使用 rspec 测试 ARGV 选项。如何期望一个方法从另一个模块调用一个方法
- json - 如何用 JQ 填充数字?
- python - 我有一个列表,如何拆分列表中的单词以获取列表中的每个字母
- pandas - Jupyter Notebook - 检索 numpy 的错误
- javascript - 如何异步导入所有 Vue3 组件?
- python - newe Raspberry 中的 Adafruit BNO0555 方向传感器出错
- python - pd.to_numeric() 返回 TypeError: 'Series' 对象是可变的,因此它们不能被散列
- javascript - Ajax 将 json 发送到 Spring Boot 服务器并在新选项卡中打开生成的 pdf
- python - 如何制作每秒触发的恒定循环(没有睡眠或线程)?