python - 如果某个时间在某个时间范围内,则查找该时间并返回 Pandas 中的相应值?

标签 python pandas

仍在尝试学习 Pandas。假设数据帧包含偶数类型事件的开始和结束以及事件的 Val。这是一个例子:

>>> df = pd.DataFrame({ 'start': ["11:00","13:00", "14:00"], 'end': ["12:00","14:00", "15:00"], 'event_type':[1,2,3], 'Val':['a','b','c']})
>>> df['start'] = pd.to_datetime(df['start'])
>>> df['end'] = pd.to_datetime(df['end'])
>>> df
                Start                 End  event_type Val
0 2021-03-05 11:00:00 2021-03-05 12:00:00           1   a
1 2021-03-05 13:00:00 2021-03-05 14:00:00           2   b
2 2021-03-05 14:00:00 2021-03-05 15:00:00           3   c

例如,查找从 11:10 开始到 11:30 结束的 event_type 1< 的事件的对应值的最佳方法是什么,在 Val 列中。例如,对于此事件示例,由于开始时间和结束时间在 df 的第一行内,因此它应该返回 a

最佳答案

尝试pd.IntervalIndex.from_arrays

df.index = pd.IntervalIndex.from_arrays(left = df.start, right = df.end)

输出如下

df.loc['11:30']
Out[73]: 
start         2021-03-05 11:00:00
end           2021-03-05 12:00:00
event_type                      1
Val                             a
Name: (2021-03-05 11:00:00, 2021-03-05 12:00:00], dtype: object

df.loc['11:30','Val']
Out[75]: 'a'

关于python - 如果某个时间在某个时间范围内,则查找该时间并返回 Pandas 中的相应值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66502306/

相关文章:

python - 找到两个字符串之间交集的最佳方法是什么?

Python代码组织问题: Eggs + Packages + Buildout + Unit Tests + SVN

python - 在 Python 中导入值

python - 如何对 Pandas 数据框中的字符串进行词形还原?

python - 如何从没有环境名称的文本文件创建新环境?

python - Scikit Learn 中 DictVectorizer 中的属性错误

python - 以高效的内存使用将 pandas 数据写入 Excel

python - 在 Pandas 中读取带有逗号和字符的 CSV 文件时出现问题

Python:是否可以在不逐个单元格迭代的情况下删除一系列excel单元格中的值?

python - 无法从数据框中清除 NaN 行