Python 如何使用Pandas从某个时间戳获取日期范围?
我需要将一年拆分为枚举的20分钟块,然后找到一年中随机分布的时间戳对应的时间范围块的序列号,以便进一步处理。 我尝试使用pandas来实现此目的,但找不到在date_范围内索引时间戳的方法:Python 如何使用Pandas从某个时间戳获取日期范围?,python,pandas,Python,Pandas,我需要将一年拆分为枚举的20分钟块,然后找到一年中随机分布的时间戳对应的时间范围块的序列号,以便进一步处理。 我尝试使用pandas来实现此目的,但找不到在date_范围内索引时间戳的方法: #!/usr/bin/python3 # -*- coding: utf-8 -*- import pandas as pd from datetime import timedelta if __name__ == '__main__': date_start = pd.to_datetim
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import pandas as pd
from datetime import timedelta
if __name__ == '__main__':
date_start = pd.to_datetime('2018-01-01')
date_end = date_start + timedelta(days=365)
index = pd.date_range(start=date_start, end=date_end, freq='20min')
data = range(len(index))
df = pd.DataFrame(data, index=index, columns=['A'])
print(df)
event_ts = pd.to_datetime('2018-10-14 02:17:43')
# How to find the corresponding df['A'] for event_ts?
# print(df.loc[event_ts])
输出:
A
2018-01-01 00:00:00 0
2018-01-01 00:20:00 1
2018-01-01 00:40:00 2
2018-01-01 01:00:00 3
2018-01-01 01:20:00 4
... ...
2018-12-31 22:40:00 26276
2018-12-31 23:00:00 26277
2018-12-31 23:20:00 26278
2018-12-31 23:40:00 26279
2019-01-01 00:00:00 26280
[26281 rows x 1 columns]
在python中执行此操作的最佳实践是什么?我想象如何“手动”找到范围,将日期范围转换为整数并进行比较,但可能有一些优雅的pandas/python风格的方法可以做到这一点?首先,我花了一个小的时间间隔,一周:
date_end = date_start + timedelta(days=7)
然后我按照你的步骤,得到了你的数据帧的一部分
我的活动是:
event_ts = pd.to_datetime('2018-01-04 02:17:43')
我选择了重置索引,并且有一个易于操作的数据框:
df = df.reset_index()
使用此代码,我找到了事件所属的最后一个值:
for i in df['index']:
if i <= event_ts:
run.append(i)
print(max(run))
#2018-01-04 02:00:00
or:
top = max(run)
事件属于索引df[222]首先,我在一个小的时间间隔内工作了一周:
date_end = date_start + timedelta(days=7)
然后我按照你的步骤,得到了你的数据帧的一部分
我的活动是:
event_ts = pd.to_datetime('2018-01-04 02:17:43')
我选择了重置索引,并且有一个易于操作的数据框:
df = df.reset_index()
使用此代码,我找到了事件所属的最后一个值:
for i in df['index']:
if i <= event_ts:
run.append(i)
print(max(run))
#2018-01-04 02:00:00
or:
top = max(run)
事件属于索引df[222]您介意分享一个吗?我不太清楚您的原始
df
@rpanai应该是什么,我在这里使用df仅用于存储时间范围块的索引。在我的任务中,我想列出一些进行处理的类的对象。我需要建立一个关系:事件时间戳->列表中对象的某个实例。我不确定DF是否可以存储类对象。事件处理需要一些额外的解决方法,比如从mysql中选择额外的数据等等。上课很方便。你介意和我一起上课吗?我不太清楚您的原始df
@rpanai应该是什么,我在这里使用df仅用于存储时间范围块的索引。在我的任务中,我想列出一些进行处理的类的对象。我需要建立一个关系:事件时间戳->列表中对象的某个实例。我不确定DF是否可以存储类对象。事件处理需要一些额外的解决方法,比如从mysql中选择额外的数据等等。班级是不可分的。