我有以下时间序列:
start = pd.to_datetime('2016-1-1')
end = pd.to_datetime('2016-1-15')
rng = pd.date_range(start, end, freq='2h')
df = pd.DataFrame({'timestamp': rng, 'values': np.random.randint(0,100,len(rng))})
df = df.set_index(['timestamp'])
我想删除这两个时间戳之间的行:
start_remove = pd.to_datetime('2016-1-4')
end_remove = pd.to_datetime('2016-1-8')
我怎样才能做到这一点?
using query
df.query('index < @start_remove or index > @end_remove')
using loc
df.loc[(df.index < start_remove) | (df.index > end_remove)]
使用日期切片
这包括终点
pd.concat([df[:start_remove], df[end_remove:]])
并且没有终点
pd.concat([df[:start_remove], df[end_remove:]]).drop([start_remove, end_remove])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)