Pandas:根据日期裁剪 DateTimeIndex 中的时间

用户3142067

我有一个带有 DateTimeIndex 的 Pandas DataFrame: yyyy-mm-dd HH:MM:SS

                       A  B  C
2015-08-08 16:00:00    1  2  3
2015-08-08 16:00:08    4  5  6
...

我想提取特定时间范围内的行HH:MM:SS但是,此时间范围因每个日期而异yyyy-mm-dd

是否可以使用某种字典将日期映射到时间范围并相应地剪辑 DateTimeIndex?

耶斯列

您可以通过列表的 dict 过滤开始和结束时间,并使用list过滤器DataFrames列表理解loc

最后concat他们到一个:

print (df)
                     A  B  C
2015-08-08 16:00:00  1  2  3
2015-08-09 13:00:08  4  5  6
2015-08-09 13:00:10  4  5  7

d = {'2015-08-08':['16:00:00', '16:00:10'],'2015-08-09':['13:00:08', '13:00:20']}

df1 = pd.concat([df.loc[k + ' ' + v[0] : k + ' ' + v[1]] for k, v in d.items()])
print (df1)
                     A  B  C
2015-08-09 13:00:08  4  5  6
2015-08-09 13:00:10  4  5  7
2015-08-08 16:00:00  1  2  3

另一个解决方案boolean indexing

df1 = pd.concat([df[(df.index >= k + ' ' + v[0]) & 
                    (df.index <= k + ' ' + v[1])] for k, v in d.items()])
print (df1)
                     A  B  C
2015-08-09 13:00:08  4  5  6
2015-08-09 13:00:10  4  5  7
2015-08-08 16:00:00  1  2  3

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何按位置选择 DatetimeIndex 的 Pandas 日期时间?

将pandas DateTimeIndex转换为Unix时间?

在熊猫中,按DatetimeIndex中的日期分组

来自datetimeindex熊猫的时间序列x轴日期

从DatetimeIndex到时间列表

pandas.DatetimeIndex.snap时间戳记向左出现的频率

Pandas shift datetimeindex 运行时间太长

根据时间间隔对带有DatetimeIndex的Pandas数据框进行切片

根据 DateTimeIndex 更新列

DatetimeIndex对象的日期列表

使用MongoDB列表中的日期字段作为Pandas DataFrame中的DatetimeIndex

python中datetimeindex的长度

给定一个DatetimeIndex和一个可识别日期时间的记录集合,如何创建Pandas DataFrame?

x轴不连续的熊猫时如何删除多余的日期时间DatetimeIndex

将DatetimeIndex用作具有日期时间值的Dateframe上的过滤器

如何使用时间在datetimeIndex数组中建立索引

没有DateTimeIndex的Python中的时间序列分解

将pandas datetime64 pandas dataframe列设置为不带时间成分的datetimeindex

在DatetimeIndex上使用pandas时间戳对DataFrame进行切片

熊猫:无法将类型<class'pandas.tseries.index.DatetimeIndex'>转换为时间戳

Python Pandas:在缺少时间戳的情况下将DateTimeIndex拆分为两个

Pandas:使用 DatetimeIndex 将时间序列列转换为多索引

优化:根据日期将具有DatetimeIndex的pandas DataFrame拆分为列表

在pandas-python中根据日期时间索引选择数据

DatetimeIndex均不在列中

Python Pandas DatetimeIndex.hour

寻找Pandas.DateTimeIndex.is_dst()

DatetimeIndex仅包含时间部分:是否可能

根据datetimeindex月份的最早日期复制值