【问题标题】:Pandas Time Series - Summarise over time with unique valuesPandas 时间序列 - 用独特的价值总结随着时间的推移
【发布时间】:2020-07-06 04:17:25
【问题描述】:

我有一个 python 数据框,它具有一系列针对日期时间对象的唯一值

我不想拥有这些时间戳,而是希望通过索引以 15 分钟为间隔来显示一段时间内的唯一值。

如何使用 Pandas 实现这一目标?

使用给出的例子

VsDF['VS_ID'].resample('15M').apply(pd.Series.unique)

我正在获取值数组。实际上,我只想计算在特定时间间隔内存在多少个值,因为无论如何这些值都会随着时间的推移而增加。

提前致谢,

【问题讨论】:

标签: python pandas


【解决方案1】:

您可以使用.resample('15M').apply(pd.Series.unique)

import pandas as pd

s = pd._testing._make_timeseries()["id"]
print(s)
# timestamp
# 2000-01-01     985
# 2000-01-02     983
# 2000-01-03    1003
# 2000-01-04     962
# 2000-01-05     985
#               ...
# 2000-12-27    1034
# 2000-12-28    1000
# 2000-12-29     947
# 2000-12-30     990
# 2000-12-31     956
# Freq: D, Name: id, Length: 366, dtype: int64
print(s.resample("4D").apply(pd.Series.unique))
# timestamp
# 2000-01-01      [985, 983, 1003, 962]
# 2000-01-05     [985, 993, 1008, 1033]
# 2000-01-09     [953, 993, 1009, 1014]
# 2000-01-13    [1045, 1009, 1030, 938]
# 2000-01-17    [1018, 998, 1003, 1070]
#                        ...
# 2000-12-14    [965, 1030, 1043, 1003]
# 2000-12-18      [947, 1001, 986, 937]
# 2000-12-22      [951, 1024, 980, 965]
# 2000-12-26     [943, 1034, 1000, 947]
# 2000-12-30                 [990, 956]
# Freq: 4D, Name: id, Length: 92, dtype: object

【讨论】:

    猜你喜欢
    • 2019-02-12
    • 2012-10-06
    • 2013-03-11
    • 1970-01-01
    • 1970-01-01
    • 2021-01-07
    • 2022-12-22
    • 1970-01-01
    • 2019-12-07
    相关资源
    最近更新 更多