python - 计算 Pandas 日期时间列的累计持续时间

标签 python pandas

假设我有以下 pandas 数据框

df = pd.DataFrame ({'time': ['2014-05-01 18:47:05', '2014-05-01 18:47:06', '2014-05-02 18:47:08', '2014-05-02 18:47:10', '2014-05-02 18:47:11']})
df['time'] = pd.to_datetime(df['time'])

这给出了以下数据框

              time
0 2014-05-01 18:47:05
1 2014-05-01 18:47:06
2 2014-05-02 18:47:08
3 2014-05-02 18:47:10
4 2014-05-02 18:47:11

我想添加另一列以秒为单位计算时间列的持续时间,如下所示

    time                   duration
0 2014-05-01 18:47:05          0
1 2014-05-01 18:47:06          1 
2 2014-05-02 18:47:08          3 
3 2014-05-02 18:47:10          5
4 2014-05-02 18:47:11          6

显然,我可以进行一些循环并手动进行更改,但我怀疑这不是 Python 式的方法。 pandas 中是否有任何功能可以简化此过程?

最佳答案

这将为您提供以秒为单位的总差异(即,也计算日期差异):

df['duration'] = pd.to_timedelta(
                     df['time'] - df['time'][0]
                   ).astype('timedelta64[s]')

关于python - 计算 Pandas 日期时间列的累计持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49853295/

相关文章:

python - skimage : Why does rgb2gray from skimage. color 结果是彩色图像?

python - Django 和 AppEngine 的多项设置

python - 如何使用 Y 轴值将坐标值聚集到行中?

c++ - Python 输入和异常与 C++

pandas - Scikit 学习管道返回索引错误 : too many indices for array

python - 以百分比和计数值作为 pandas DF 中标签的马赛克图

python - 如何从kayak.com上抓取给定区域的酒店最低价格?

python - Pandas : How can I find missing data which is existing in only one data frame?

python - 如何根据另一列的值更改 Pandas DataFrame 中的值

python - 如何使用预测模型 python 预测列中的特定行?