python - 在python中过滤日期格式

标签 python python-3.x pandas pandas-groupby

我的数据框看起来像 -

date                           value
2018-04-01 19:50:00.013         29
2018-04-01 19:55:00.012         19
2018-04-01 20:00:00.019         20
2018-04-01 20:05:00.021         43
2018-04-01 20:10:00.005         50
2018-04-01 20:15:00.019         42
2018-04-01 20:20:00.023         65
2018-04-01 20:25:00.013         43
2018-04-01 20:30:00.003         29
2018-04-01 20:35:00.008         49
....
...
2020-04-10 05:45:00.018        639
2020-04-10 05:50:00.008        633
2020-04-10 05:55:00.021        629
2020-04-10 06:00:00.008        619
2020-04-10 06:05:00.011        610

我有近两年的数据,该数据集的时间间隔是 5 分钟。我只想获取这 2 年期间早上 6 点到晚上 8 点存在的数据。我的最终数据框看起来像 -

date                           value
2018-04-01 19:50:00.013         29
2018-04-01 19:55:00.012         19
2018-04-01 20:00:00.019         20
2020-04-10 06:00:00.008        619
2020-04-10 06:05:00.011        610

到目前为止我已经完成了 -

获取最小和最大日期 -

max(df['date'])
max(df['date'])

mask1 = df['date'] >= '2018-04-01 06:00:00'
mask2 = df['date'] <= '2020-04-10 20:00:00'
df = df[mask1 & mask2]
df.head()

但是它不起作用

最佳答案

使用DataFrame.between_time使用 DatetimeIndex,因此将 Date 转换为索引:

df = df.set_index('date').between_time('06:00','20:00')
print (df)
                         value
date                          
2018-04-01 19:50:00.013     29
2018-04-01 19:55:00.012     19
2020-04-10 06:00:00.008    619
2020-04-10 06:05:00.011    610

关于python - 在python中过滤日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61321563/

相关文章:

python - 在 pandas 中优先过滤的最佳方法是什么?

javascript - 有趣的问题;本地存储和 MongoDB

python - Python 发布(带 pbr): version not generated

python-3.x - 如何获取 py.test session 的标记列表?

python-3.x - 对 pandas 中的所有分组数据应用排序功能?

python - 如何在Python客户端服务器套接字编程之间实现SSL连接

python - 多条件计数 : pandas dataframe

python - ( "SELECT password FROM peerlist WHERE username=?",用户名1)

python - 如何使用队列进行基数排序?

python - 如何在 Pandas 中返回具有多个条件的数据框