有一个捕获每秒钟能源消耗的时间序列,对于一个月的数据,将其加载到熊猫数据框中,并在时间戳上进行索引。并且该窗口将近3个小时(可能介于2小时50分钟到3小时10分钟之间)。该窗口每天发生一个月,因此目标是捕获每天的确切窗口持续时间>
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
答案 0 :(得分:0)
您是否考虑过使用.isin()
方法?
基本上,它将根据您选择的列的列表中的特定值过滤您的DataFrame
。
因此,首先必须从energy_consumed
列中获取所有值为>1500
的值,然后将它们全部放入列表中,并将该列表用作.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
。
我希望这会有所帮助:))。