python-绝对到相对时间

python-绝对到相对时间,python,pandas,dataframe,Python,Pandas,Dataframe,my pandas数据帧的当前结构如下所示: { 'Temperature': [1,2,3,4,5,6,7,8,9], 'machining': [1,1,1,2,2,2,3,3,3], 'timestamp': [1560770645,1560770646,1560770647,1560770648,1560770649,1560770650,1560770651,1560770652,1560770653] } 我想添加一个列,其中包含每个加工过程的相对时间,以便每次“加工”列的值更改时

my pandas数据帧的当前结构如下所示:

{
'Temperature': [1,2,3,4,5,6,7,8,9],
'machining': [1,1,1,2,2,2,3,3,3],
'timestamp': [1560770645,1560770646,1560770647,1560770648,1560770649,1560770650,1560770651,1560770652,1560770653]
}
我想添加一个列,其中包含每个加工过程的相对时间,以便每次“加工”列的值更改时,该列都会刷新。
因此,所需结构是:

{
'Temperature': [1,2,3,4,5,6,7,8,9],
'machining': [1,1,1,2,2,2,3,3,3],
'timestamp': [1560770645,1560770646,1560770647,1560770648,1560770649,1560770650,1560770651,1560770652,1560770653]
'timestamp_machining': [1,2,3,1,2,3,1,2,3]
}

我正在努力以一种干净的方式做到这一点:如果需要,没有熊猫,任何帮助都会得到感谢。

减去以下创建的每个组的第一个值:

如果只需要计数器,则是您的朋友:

df['new'] = df.groupby('machining').cumcount() + 1

我不明白为什么'+1'@AlioshaK.-因为如果使用第一个解决方案,如果从第一个值减去第一个值,则获得
0
,对于以
0
开头的第二个解决方案第一个值。应用“min”函数而不是“first”怎么样?@AlioshaK.-是的,这是另一种解决方案;)
df['new'] = df.groupby('machining').cumcount() + 1