Python 按周间隔创建timeseries数据帧的多个子集
python新手。我有一个带有日期时间列的数据框,本质上是一个巨大的时间序列数据。我基本上希望将其划分为多个子集,其中每个子集数据帧包含从第一个时间戳开始的为期一周的数据。我一直在用groupBy和Grouper尝试这个方法,但它返回的元组本身并不包含一周的数据。此外,Grouper以前的TimeGrouper文档对此也不是很清楚 这就是我试过的。有更好的想法或方法吗Python 按周间隔创建timeseries数据帧的多个子集,python,pandas,time-series,pandas-groupby,Python,Pandas,Time Series,Pandas Groupby,python新手。我有一个带有日期时间列的数据框,本质上是一个巨大的时间序列数据。我基本上希望将其划分为多个子集,其中每个子集数据帧包含从第一个时间戳开始的为期一周的数据。我一直在用groupBy和Grouper尝试这个方法,但它返回的元组本身并不包含一周的数据。此外,Grouper以前的TimeGrouper文档对此也不是很清楚 这就是我试过的。有更好的想法或方法吗 grouped=uema\u label\u format.groupbypd.Grouperkey='HEADER\u ST
grouped=uema\u label\u format.groupbypd.Grouperkey='HEADER\u START\u TIME',freq='W'如果您的数据集非常大,那么将这项工作外部化到一个时间序列数据库中,然后查询它以获得您感兴趣的每周。这些结果可以加载到熊猫中,但数据库可以处理繁重的工作。例如,在QuestDB中,您可以获得如下所示的当前周
select * from yourTable where timestamp = '2020-06-22;7d'
虽然这将返回一周的数据,但您可以对其进行迭代以快速获取单个对象,因为结果是即时的。此外,您还可以在事后轻松更改采样间隔,例如,使用1M将采样间隔更改为每月一次。这仍然是一个即时的反应
您可以使用此查询作为示例,从纽约市16亿行出租车数据集中获取大约300万行的一周数据
select * from trips where pickup_datetime = '2015-08-01;7d';
如果这可以解决您的用例,那么有一个关于如何将查询结果从QuestDB获取到pandas的教程