gpt4 book ai didi

python - pandas datetimeindex between_time 函数(如何获取 not_between_time)

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

我有一个 pandas df,我使用 between_time a 和 b 来清理数据。我如何获得非_between_time 行为?

我知道我可以尝试类似的东西。

df.between_time['00:00:00', a]   
df.between_time[b,23:59:59']

然后组合起来,对新的df进行排序。这是非常低效的,它对我不起作用,因为我有 23:59:59 和 00:00:00 之间的数据

谢谢

最佳答案

您可以找到时间在 ab 之间的行的索引位置,然后使用 df.index.diff 删除那些来自索引:

import pandas as pd
import io
text = '''\
date,time, val
20120105, 080000, 1
20120105, 080030, 2
20120105, 080100, 3
20120105, 080130, 4
20120105, 080200, 5
20120105, 235959.01, 6
'''

df = pd.read_csv(io.BytesIO(text), parse_dates=[[0, 1]], index_col=0)
index = df.index
ivals = index.indexer_between_time('8:01:30','8:02')
print(df.reindex(index.diff(index[ivals])))

产量

                             val
date_time
2012-01-05 08:00:00 1
2012-01-05 08:00:30 2
2012-01-05 08:01:00 3
2012-01-05 23:59:59.010000 6

关于python - pandas datetimeindex between_time 函数(如何获取 not_between_time),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22288611/

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