python datatime 平均值_时间序列数据的运行平均值/频率?

你可以像这样用纽比或熊猫(“熊猫版”):In [256]: s = pd.Series([2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, 35,

40, 45, 50, 55, 65, 75, 85, 86, 87, 88])

In [257]: df = pd.DataFrame({'time': s,

'time_diff': s.diff().shift(-1)}).set_index('time')

In [258]: df[df.time_diff - df.time_diff.shift(1) != 0].dropna()

Out[258]:

time_diff

time

2 1

10 5

55 10

85 1

如果只想查看每个时间点的第一次出现,也可以使用:

^{pr2}$

但是,对于pandas,您通常会使用DatetimeIndex来使用内置的时间序列功能:In [44]: a = [2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, 35,

40, 45, 50, 55, 65, 75, 85, 86, 87, 88]

In [45]: start_time = datetime.datetime.now()

In [46]: times = [start_time + datetime.timedelta(seconds=int(x)) for x in a]

In [47]: idx = pd.DatetimeIndex(times)

In [48]: df = pd.DataFrame({'data1': np.random.rand(idx.size),

'data2': np.random.rand(idx.size)},

index=idx)

In [49]: df.resample('5S') # resample to 5 Seconds

Out[49]:

data1 data2

2012-11-28 07:36:35 0.417282 0.477837

2012-11-28 07:36:40 0.536367 0.451494

2012-11-28 07:36:45 0.902018 0.457873

2012-11-28 07:36:50 0.452151 0.625526

2012-11-28 07:36:55 0.816028 0.170319

2012-11-28 07:37:00 0.169264 0.723092

2012-11-28 07:37:05 0.809279 0.794459

2012-11-28 07:37:10 0.652836 0.615056

2012-11-28 07:37:15 0.508318 0.147178

2012-11-28 07:37:20 0.261157 0.509014

2012-11-28 07:37:25 0.609685 0.324375

2012-11-28 07:37:30 NaN NaN

2012-11-28 07:37:35 0.736370 0.551477

2012-11-28 07:37:40 NaN NaN

2012-11-28 07:37:45 0.839960 0.118619

2012-11-28 07:37:50 NaN NaN

2012-11-28 07:37:55 0.697292 0.394946

2012-11-28 07:38:00 0.351824 0.420454

从我的观点来看,Pandas是Python生态系统中目前可用的最好的库。不知道你真的想做什么,但我想试试熊猫。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值