在 Pandas 中按时间搜索或分组时间序列数据

我有一个这样的数据集


dataset = pd.read_csv('1053.csv')

print dataset.head(25)


                  date  power

0    2009-7-14 0:30:00  0.039

1    2009-7-14 1:00:00  0.147

2    2009-7-14 1:30:00  0.134

3    2009-7-14 2:00:00  0.131

4    2009-7-14 2:30:00  0.076

5    2009-7-14 3:00:00  0.039

6    2009-7-14 3:30:00  0.039

7    2009-7-14 4:00:00  0.052

8    2009-7-14 4:30:00  0.148

9    2009-7-14 5:00:00  0.136

10   2009-7-14 5:30:00  0.132

11   2009-7-14 6:00:00  0.060

12   2009-7-14 6:30:00  0.034

13   2009-7-14 7:00:00  0.034

14   2009-7-14 7:30:00  0.033

15   2009-7-14 8:00:00  0.326

16   2009-7-14 8:30:00  0.140

17   2009-7-14 9:00:00  0.133

18   2009-7-14 9:30:00  0.107

19  2009-7-14 10:00:00  0.161

20  2009-7-14 10:30:00  0.042

21  2009-7-14 11:00:00  1.259

22  2009-7-14 11:30:00  1.227

23  2009-7-14 12:00:00  0.167

24  2009-7-14 12:30:00  0.518

如何提取包含确切时间的行?例如。我试着这样做


df = dataset[dataset.date.str.contains("2:00:00",regex=False)]

df1 = df.reset_index()

del df1['index']

print df1.head(7)

但它给了我这个结果。


                  date  power

0    2009-7-14 2:00:00  0.131

1   2009-7-14 12:00:00  0.167

2   2009-7-14 22:00:00  0.208

3    2009-7-15 2:00:00  0.085

4   2009-7-15 12:00:00  0.097

5   2009-7-15 22:00:00  0.203

6    2009-7-16 2:00:00  0.038

我希望结果是这样的


                  date  power

0    2009-7-14 2:00:00  0.131

1    2009-7-15 2:00:00  0.085

2    2009-7-16 2:00:00  0.038

3    2009-7-17 2:00:00  0.141

4   2009-7-18 2:00:00  0.039

5   2009-7-19 2:00:00  0.039

6   2009-7-20 2:00:00  0.079


浮云间
浏览 117回答 2
2回答

慕神8447489

这似乎不是正则表达式问题,因为您在代码中专门将正则表达式标志设置为“False”。但是,您应该能够简单地搜索您想要的值(根据您提供给我们的数据样本),只需在您的搜索值前添加一个“”。df = dataset[dataset.date.str.contains(" 2:00:00",regex=False)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python