python - Pandas 发现缺失的 15 分钟间隔

标签 python pandas time-series

我有一个数据框:

df = pd.DataFrame({
    'customerId' : ['A', 'A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B','B', 'B', 'B'],
    'startOf15Min' : ['2019-07-30T00:00:00', '2019-07-30T00:15:00',
       '2019-07-30T07:00:00', '2019-07-30T07:15:00',
       '2019-07-30T07:30:00', '2019-07-30T07:45:00',
       '2019-07-30T08:00:00', '2019-07-30T00:00:00',
       '2019-07-30T00:15:00', '2019-07-30T06:30:00',
       '2019-07-30T06:45:00', '2019-07-30T07:00:00',
       '2019-07-30T07:15:00', '2019-07-30T07:30:00',
       '2019-07-30T07:45:00', '2019-07-30T08:00:00']
}, columns=['customerId', 'startOf15Min'])
df.startOf15Min = pd.to_datetime(df.startOf15Min)

df

enter image description here

我需要找出两个日期时间之间缺少的 15 分钟间隔。 例如如果:

fr_timestamp = 2019-07-30 06:00:00
to_timestamp = 2019-07-30 09:00:00

对于客户 A,缺少的 15 分钟间隔为:06:00、06:15、06:30、06:45 和 08:15、08:30、08:45。 p>

对于客户 B,缺少的 15 分钟间隔为:06:00、06:15 和 08:15、08:30、08:45

如何找到这些间隔?

问候。

最佳答案

使用pandas.date_range :

intv = pd.date_range('2019-07-30 06:00:00','2019-07-30 09:00:00', freq='15Min', closed='left')
missing = df.groupby('customerId')['startOf15Min'].apply(lambda x: [i for i in intv if i not in x])

print(missing[0])
print(missing[1])

输出:

[Timestamp('2019-07-30 06:00:00', freq='15T'),
 Timestamp('2019-07-30 06:15:00', freq='15T'),
 Timestamp('2019-07-30 06:30:00', freq='15T'),
 Timestamp('2019-07-30 06:45:00', freq='15T'),
 Timestamp('2019-07-30 08:15:00', freq='15T'),
 Timestamp('2019-07-30 08:30:00', freq='15T'),
 Timestamp('2019-07-30 08:45:00', freq='15T')]

[Timestamp('2019-07-30 06:00:00', freq='15T'),
 Timestamp('2019-07-30 06:15:00', freq='15T'),
 Timestamp('2019-07-30 08:15:00', freq='15T'),
 Timestamp('2019-07-30 08:30:00', freq='15T'),
 Timestamp('2019-07-30 08:45:00', freq='15T')]

关于python - Pandas 发现缺失的 15 分钟间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57267868/

相关文章:

python - pyqt中表格单元格的右对齐

python - 如何可视化在 pandas 中的某个位置花费的连续时间?

python - 使用多列循环数据帧抛出 ValueError

sql-server - SQL Server : time-series data performance

python - 有什么方法可以在 python 中使用 scikit-learn 预测每月的时间序列?

matplotlib - 如何设置x轴每10年一次

python - 如何将不同列大小的 pandas 数据框拆分为单独的数据框?

python - Python 中的类、方法和多态性

python - 限制 MXNet GPU 内存使用

python - 使用 datetime64[us] dtype 的 pandas 滚动窗口产生令人困惑的输出