如何基于多级索引计算时间戳差异?

用户名

我有以下内容,pandas.DataFrame并想计算出一个新列,其中包含多索引级别中连续时间戳之间的timedelta Timestamp

import pandas as pd
import numpy as np
data = {'Timestamp': [12, 12, 12, 22, 22, 22, 44, 44, 66, 102],
        'Customer': ['bmw', 'vw', 'vw', 'bmw', 'vw', 'vw', 'vw', 'vw', 'bmw', 'bmw'],
        'Series': ['series1', 'series1', 'series2', 'series1', 'series1', 'series2', 'series1', 'series2', 'series2', 'series1'],
        'time_delta': [np.nan, np.nan, np.nan, 10, 10, 10, 22, 22, 22, 36]
        }
df = pd.DataFrame(data).set_index(['Timestamp', 'Customer', 'Series'])

该列time_delta是我想要实现的期望输出。我有点挣扎,因为我不能使用pandas.Series.diff()函数,因为periods不一致。我想Timestamp在数据帧级别上执行时间戳增量计算,但是将结果传递给该级别的所有行。因此,对于第一Timestamp级值12,没有前面的时间戳值,因此该时间戳的所有行都用填充np.nan对于下一个时间戳记22,我可以将增量增加到12(即10),并为时间戳记22的所有行填充它。

广晃

让我们尝试提取级别值并从那里计算差值:

df['time_delta'] = df.index.get_level_values('Timestamp')

s = df['time_delta'].diff()
df['time_delta'] = s.where(s>0).ffill()

输出:

                            time_delta
Timestamp Customer Series             
12        bmw      series1         NaN
          vw       series1         NaN
                   series2         NaN
22        bmw      series1        10.0
          vw       series1        10.0
                   series2        10.0
44        vw       series1        22.0
                   series2        22.0
66        bmw      series2        22.0
102       bmw      series1        36.0

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

分组并计算时间戳的差异

来自分类Dev

JPQL-计算时间戳之间的差异

来自分类Dev

计算分区HIVE中行的时间戳差异

来自分类Dev

计算Firestore Update中的时间戳差异

来自分类Dev

逐条记录时间戳差异计算

来自分类Dev

如何基于时间戳差异有效地加入2个DateFrames?

来自分类Dev

如何在Perl中计算两个时间戳字符串之间的差异

来自分类Dev

在给定条件下,如何计算时间戳之间的差异?

来自分类Dev

如何计算一张表中不同行和列之间的时间戳差异?

来自分类Dev

计算两个时间戳之间的差异,并获得Unix时间戳之间的差异

来自分类Dev

计算两个时间戳之间的差异,并获得unix时间戳之间的差异

来自分类Dev

计算bash中两个时间戳之间的差异

来自分类Dev

在SQL中计算时间戳差异和平均

来自分类Dev

计算时间戳差异 - 不能超过 48 小时

来自分类Dev

如何基于时间戳合并多个文件

来自分类Dev

时间戳差异

来自分类Dev

时间戳差异

来自分类Dev

sqlite时间戳差异

来自分类Dev

时间戳之间的差异?

来自分类Dev

时间戳差异

来自分类Dev

如何计算多级索引groupby的百分比?

来自分类Dev

在Python中基于ms的13位unixtime时间戳计算时间戳

来自分类Dev

如何计算基于时间戳作业的azure数据湖中的u-sql中的动态输出文件名

来自分类Dev

如何在BigQuery中获得连续时间戳之间的差异

来自分类Dev

如何获得两个时间戳的差异?

来自分类Dev

如何获得两个时间戳之间的差异?

来自分类Dev

如何在 Codeigniter 中应用时间戳差异?

来自分类Dev

R时间戳差异打印

来自分类Dev

MySQL时间戳差异结果