gpt4 book ai didi

python - 我如何在 Pandas 中选择时间范围内的数据

转载 作者:太空宇宙 更新时间:2023-11-04 02:33:49 25 4
gpt4 key购买 nike

我有下面的数据框,我想选择时间范围。

例如我有以下数据,我想选择 06:00~08:00每天 。日期、时间是多索引索引

Date        Time     a      b    c
2018-01-09 5:15:00 20.55 0 -3.07
2018-01-09 5:30:00 20.57 0 -3.07
2018-01-09 5:45:00 20.33 0 -3.44
2018-01-09 6:00:00 20.31 0 -2.95
2018-01-09 6:15:00 20.76 26738 -2.88
2018-01-09 6:30:00 21.4 22462 -2.77
2018-01-09 6:45:00 21.84 20033 -3
2018-01-09 7:00:00 22.17 20010 -3.28
2018-01-09 7:15:00 22.38 18133 -2.82
2018-01-09 7:30:00 22.75 18254 -3.14
2018-01-09 7:45:00 22.93 17039 -3.22
2018-01-09 8:00:00 23.13 15934 -3.27
2018-01-09 8:15:00 23.25 15438 -3.48
2018-01-09 8:30:00 23.44 16218 -3.65
2018-01-09 8:45:00 23.65 14666 -3.14
2018-01-09 9:00:00 24.01 14686 -3.1
.....

所以结果应该是下面的

Date        Time     a      b    c
2018-01-09 6:00:00 20.31 0 -2.95
2018-01-09 6:15:00 20.76 26738 -2.88
2018-01-09 6:30:00 21.4 22462 -2.77
2018-01-09 6:45:00 21.84 20033 -3
2018-01-09 7:00:00 22.17 20010 -3.28
2018-01-09 7:15:00 22.38 18133 -2.82
2018-01-09 7:30:00 22.75 18254 -3.14
2018-01-09 7:45:00 22.93 17039 -3.22
2018-01-09 8:00:00 23.13 15934 -3.27
2018-01-10 6:00:00 20.31 0 -2.95
2018-01-10 6:15:00 20.76 26738 -2.88
2018-01-10 6:30:00 21.4 22462 -2.77
2018-01-10 6:45:00 21.84 20033 -3
2018-01-10 7:00:00 22.17 20010 -3.28
2018-01-10 7:15:00 22.38 18133 -2.82
2018-01-10 7:30:00 22.75 18254 -3.14
2018-01-10 7:45:00 22.93 17039 -3.22
2018-01-10 8:00:00 23.13 15934 -3.27

如何选择时间范围内的数据(06:00~08:00)?

最佳答案

使用boolean indexing与比较 timedelatas :

a = pd.Timedelta(6, unit='h')
b = pd.Timedelta(8, unit='h')
df = df[pd.to_timedelta(df['Time']).between(a,b)]

另一个解决方案是创建 DatetimeIndex 并通过 DataFrame.between_time 选择:

df.index = pd.to_datetime(df['Date'] + ' ' + df['Time'])
df = df.between_time ('6:00', '8:00').reset_index(drop=True)

print (df)
Date Time a b c
3 2018-01-09 6:00:00 20.31 0 -2.95
4 2018-01-09 6:15:00 20.76 26738 -2.88
5 2018-01-09 6:30:00 21.40 22462 -2.77
6 2018-01-09 6:45:00 21.84 20033 -3.00
7 2018-01-09 7:00:00 22.17 20010 -3.28
8 2018-01-09 7:15:00 22.38 18133 -2.82
9 2018-01-09 7:30:00 22.75 18254 -3.14
10 2018-01-09 7:45:00 22.93 17039 -3.22
11 2018-01-09 8:00:00 23.13 15934 -3.27

关于python - 我如何在 Pandas 中选择时间范围内的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48421970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com