【问题标题】:Time series data that needs to be sampled to every 15 minutes and plotted需要每 15 分钟采样一次并绘制的时间序列数据
【发布时间】:2020-05-31 10:06:28
【问题描述】:

我有一个如下所示的数据框:

                 counts month
login_time      
1970-03-14 17:45:52 3   Mar
1970-01-09 01:31:25 3   Jan
1970-04-12 04:03:15 3   Apr
1970-02-24 23:09:57 3   Feb
1970-04-04 01:17:40 3   Apr
1970-02-12 11:16:53 3   Feb
1970-03-17 01:01:39 3   Mar
1970-01-06 21:45:52 3   Jan
1970-03-29 03:24:57 3   Mar
1970-04-03 14:42:38 2   Apr

我想以 15 分钟的间隔汇总这些登录计数,然后绘制结果。

我尝试了以下方法:

df.groupby('login_time').resample('15min').count()

但它重新采样的方式似乎不正确

        counts  month
login_time  login_time      
1970-01-01 20:12:16 1970-01-01 20:00:00 1   1
1970-01-01 20:13:18 1970-01-01 20:00:00 1   1
1970-01-01 20:16:10 1970-01-01 20:15:00 1   1
1970-01-01 20:16:36 1970-01-01 20:15:00 1   1
1970-01-01 20:16:37 1970-01-01 20:15:00 1   1
1970-01-01 20:21:41 1970-01-01 20:15:00 1   1
1970-01-01 20:26:05 1970-01-01 20:15:00 1   1
1970-01-01 20:26:21 1970-01-01 20:15:00 1   1
1970-01-01 20:31:03 1970-01-01 20:30:00 1   1
1970-01-01 20:34:46 1970-01-01 20:30:00 1   1

谢谢!

【问题讨论】:

  • 一种方法是重采样~
  • 按 15 分钟间隔,您的意思是要从午夜开始按 15 分钟间隔进行装箱吗?
  • @ggorlen 刚刚添加!谢谢!!

标签: python pandas aggregate


【解决方案1】:

不确定这是否正是您的意思,因为您没有指定您是否对午夜后 15 分钟或从数据集开头开始的 bin 感兴趣,但我认为以下是可行的:

我使用that answer 生成了某个范围内的随机日期(以便有一些东西要装箱)。

import pandas as pd
import numpy as np

# Make some fake data
def random_date_generator(start_date, range_in_days):
    days_to_add = np.arange(0, range_in_days)
    random_date = np.datetime64(start_date) + np.random.choice(days_to_add)
    return random_date

data_length = 1000
date_col = [random_date_generator('1970-01-01 00:00:00', 100000) for dc in np.arange(data_length)]
count_col = np.random.randint(5, size = data_length)

# Sample:
df = pd.DataFrame({'login_time':date_col, 'counts': count_col})
df = df.set_index(['login_time'])

df.resample('15T').count()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-22
    • 2015-02-26
    • 2017-08-26
    • 2021-12-02
    • 1970-01-01
    • 2017-08-26
    • 2019-01-13
    相关资源
    最近更新 更多