有一个捕获一个月内每秒能源消耗的时间序列,在timestamp.Trying上使用索引加载到pandas数据帧中,以开发一个代码,该代码将显示出准确的持续时间窗口,在该窗口中,每秒的能源消耗> 1500,该窗口接近3小时(可能在2小时50分钟到3小时10分钟之间).This窗口将在一个月内每天出现,因此目标是捕获每一天的确切窗口持续时间
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
发布于 2019-07-08 19:09:03
你有没有考虑过使用.isin()方法?
它基本上会根据你选择的列的列表中的特定值来过滤你的DataFrame。
因此,首先必须从值为>1500的energy_consumed列中获取所有值,将它们放在一个列表中,并将该列表用作.isin()方法中的参数:
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现在将拥有所有的timestamp和energy_consumed值,用于energy_consumed的值仅大于1500。
我希望这能有所帮助:))。
https://stackoverflow.com/questions/56923112
复制相似问题