首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Pandas时间序列的过滤

基于Pandas时间序列的过滤
EN

Stack Overflow用户
提问于 2019-07-07 22:39:08
回答 1查看 127关注 0票数 1

有一个捕获一个月内每秒能源消耗的时间序列,在timestamp.Trying上使用索引加载到pandas数据帧中,以开发一个代码,该代码将显示出准确的持续时间窗口,在该窗口中,每秒的能源消耗> 1500,该窗口接近3小时(可能在2小时50分钟到3小时10分钟之间).This窗口将在一个月内每天出现,因此目标是捕获每一天的确切窗口持续时间

代码语言:javascript
复制
                         energy_consumed
timestamp   
2011-08-01 00:00:00-07:00   1322
2011-08-01 00:00:01-07:00   1322
2011-08-01 00:00:02-07:00   1328
2011-08-01 00:00:03-07:00   1328
2011-08-01 00:00:04-07:00   1328
2011-08-01 00:00:05-07:00   1328
2011-08-01 00:00:06-07:00   1328
2011-08-01 00:00:07-07:00   1320
2011-08-01 00:00:08-07:00   1320
2011-08-01 00:00:09-07:00   1320
2011-08-01 00:00:10-07:00   1320
2011-08-01 00:00:11-07:00   1320
2011-08-01 00:00:12-07:00   1320
2011-08-01 00:00:13-07:00   1320
2011-08-01 00:00:14-07:00   1320
2011-08-01 00:00:15-07:00   1320
2011-08-01 00:00:16-07:00   1320
2011-08-01 00:00:17-07:00   1318
2011-08-01 00:00:18-07:00   1318
2011-08-01 00:00:19-07:00   1318

完整的数据文件here

EN

回答 1

Stack Overflow用户

发布于 2019-07-08 19:09:03

你有没有考虑过使用.isin()方法?

它基本上会根据你选择的列的列表中的特定值来过滤你的DataFrame

因此,首先必须从值为>1500energy_consumed列中获取所有值,将它们放在一个列表中,并将该列表用作.isin()方法中的参数:

代码语言:javascript
复制
energy_greater_than_condition_list = [x for x in df['energy_consumed'].values.tolist() if x > 1500]

df = df.loc[df['energy_consumed'].isin(energy_greater_than_condition_list)]

执行上述代码后的这个df现在将拥有所有的timestampenergy_consumed值,用于energy_consumed的值仅大于1500

我希望这能有所帮助:))。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56923112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档