可以通过以下步骤实现:
import pandas as pd
df = pd.DataFrame({'timestamp': ['2022-01-01 00:00:00', '2022-01-01 00:01:00', '2022-01-01 00:02:00'],
'value': [10, 20, 30]})
df['timestamp'] = pd.to_datetime(df['timestamp'])
df['time_diff'] = df['timestamp'].shift(-1) - df['timestamp']
df['time_diff'] = df['time_diff'].dt.total_seconds()
现在,你可以通过访问"time_diff"列来获取每个时间帧之间的时间差。注意,最后一行的时间差将是NaN,因为没有下一个时间帧来计算差异。
这是一个完整的示例代码,展示了如何在给定另一列的值的情况下,减去pandas数据帧中的连续时间帧:
import pandas as pd
df = pd.DataFrame({'timestamp': ['2022-01-01 00:00:00', '2022-01-01 00:01:00', '2022-01-01 00:02:00'],
'value': [10, 20, 30]})
df['timestamp'] = pd.to_datetime(df['timestamp'])
df['time_diff'] = df['timestamp'].shift(-1) - df['timestamp']
df['time_diff'] = df['time_diff'].dt.total_seconds()
print(df)
输出结果:
timestamp value time_diff
0 2022-01-01 00:00:00 10 60.0
1 2022-01-01 00:01:00 20 60.0
2 2022-01-01 00:02:00 30 NaN
希望这个答案能够满足你的需求。如果你对其他方面有任何问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云