python - Pandas:重新采样分类索引数据
问题描述
假设一些测量数据(实际上大约每分钟给出)命名为logData
:
import pandas as pd, numpy as np
idxData = pd.to_datetime(['08:00', '08:15', '08:30', '08:45', '09:00'])
logData = pd.DataFrame(np.array([1.0, 2.0, 3.0, 4.0, 5.0]), columns=['val'], index=idxData)
idxRng = pd.interval_range(idxData[0], idxData[-1], freq='30min')
avgData = logData.groupby( pd.cut(logData.index, idxRng) ).mean()
数据被分组为avgData
如下所示:
val
(08:00:00, 08:30:00] 2.5
(08:30:00, 09:00:00] 4.5
这个下采样avgData
现在应该(在执行一些其他计算之后)再次上采样,例如到频率freq='10min'
为进一步计算。由于avgData.resample('10min')
引发以下错误,问题是如何重新采样分类数据?
TypeError: Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'CategoricalIndex'
提前谢谢了!
解决方案
为了使重采样工作,您的索引需要具有 datetime64[ns] 的数据类型,通过运行以下代码检查索引的数据类型。
avgData.index.dtype
推荐阅读
- c# - ItemsControl / TextBox 性能下降
- c# - Webclient + UploadStringAsync + 事件:UploadProgressChanged / DownloadProgressChanged
- c - 链表中的多次出现删除功能只删除字符的第一个实例
- python - 如何在条形图中标记分类变量?
- python - 如何使用变量作为其他文件中的名称来调用函数
- javascript - GitHub Pages + Jekyll + Bootstrap + CDN 问题
- java - 有没有一种方法可以在不创建另一个数组的情况下排除数组中的非重复数字?
- drop-down-menu - 无法让动态下拉列表在 Kendo 网格行中工作
- r - 尝试在 R 中运行 kNN 时收到 coercionNAs 引入的错误 NA?
- knockout.js - Knockoutjs如何使用三元运算符添加必需的属性进行输入