python - pandas asfreq() 函数未显示结果
问题描述
我试图找到时间序列(30 分钟间隔)中的空白并用 NaN 填充它们。
我指的是这篇文章中的说明,但事实证明代码在我的情况下表现不佳。 查找以 1 分钟间隔采样的 pandas 时间序列数据帧中的空白,并用新行填补空白
import pandas as pd
from datetime import datetime
df=pd.read_csv('example1.csv')
df.head(5)
Date & Time KW
0 8/27/2019 23:30 0.016
1 8/27/2019 23:00 0
2 8/27/2019 22:30 0.016
3 8/27/2019 22:00 0.016
4 8/27/2019 21:30 0
df['Date & Time'] = pd.to_datetime(df['Date & Time'], format='%m/%d/%Y %H:%M')
df=df.set_index('Date & Time').asfreq('30M')
df.head()
KW
Date & Time
如您所见,输出为空白,预计我会看到值。我不确定我做错了什么。
解决方案
M
是月份,您的“日期和时间”列正在减少。你需要使用T
负值
试试这个样本
df:
Date & Time KW
0 8/27/2019 23:30 0.016
1 8/27/2019 23:00 0.000
2 8/27/2019 22:30 0.016
3 8/27/2019 22:00 0.016
4 8/27/2019 21:30 0.000
5 8/27/2019 19:30 0.000
df.set_index('Date & Time').asfreq('-30T')
Out[412]:
KW
Date & Time
2019-08-27 23:30:00 0.016
2019-08-27 23:00:00 0.000
2019-08-27 22:30:00 0.016
2019-08-27 22:00:00 0.016
2019-08-27 21:30:00 0.000
2019-08-27 21:00:00 NaN
2019-08-27 20:30:00 NaN
2019-08-27 20:00:00 NaN
2019-08-27 19:30:00 0.000
推荐阅读
- python-3.x - 如何在 Python 中使用 PyQt 显示 RGB 图像?
- python - 二维数组减去一维数组
- sql - 更新 SQL Server 中分隔符之间包含的字符串的一部分
- python - 如何使用 For 循环在字典内的列表中获取某个值?
- html - 图像在容器内不合适,图像切换没有响应(响应性)
- angular - 两次订阅相同的方法但使用不同的参数是如何工作的?
- c++ - 如何遍历位图像素
- apache-spark - 如果 emr 上的 spark 中不存在存储桶,如何防止创建存储桶
- mysql - InnoDB:错误意味着另一个程序正在使用 InnoDB 的文件。在 MYSQL 错误日志中获取操作系统错误 32
- anaconda - 在没有 MKL 的情况下为 AMD Ryzen 设置 Anaconda