Python datetimeindex between_time函数(如何获取非_between_time)
我有一个df,我使用时间a和b之间的时间来清理数据。我该怎么办 得到一个非时间间隔行为 我知道我可以试试这样的东西Python datetimeindex between_time函数(如何获取非_between_time),python,numpy,pandas,Python,Numpy,Pandas,我有一个df,我使用时间a和b之间的时间来清理数据。我该怎么办 得到一个非时间间隔行为 我知道我可以试试这样的东西 df.between_time['00:00:00', a] df.between_time[b,23:59:59'] 然后将其合并并对新的df进行排序。这是非常低效的,它不适合我,因为我的数据介于23:59:59和00:00:00之间 感谢您可以找到时间介于a和b之间的行的索引位置,然后使用df.index.diff从索引中删除这些位置: import pandas as
df.between_time['00:00:00', a]
df.between_time[b,23:59:59']
然后将其合并并对新的df进行排序。这是非常低效的,它不适合我,因为我的数据介于23:59:59和00:00:00之间
感谢您可以找到时间介于
a
和b
之间的行的索引位置,然后使用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
非常感谢,我试过了,效果很好。不太熟悉reindex