【问题标题】:Python_Converting datetime difference into days differencePython_将日期时间差转换为天差
【发布时间】:2021-04-07 08:24:25
【问题描述】:

我想计算行之间的时间差并以天表示。 例如datetime1(MM/DD/YY hh:mm:ss) - datetime2(MM/DD/YY hh:mm:ss) = 0.5 (days) 下面附上数据和图片的例子。 谢谢

date_time               Calculation_(days)
12/17/2020 17:50:48     0
12/17/2020 17:51:46     0.000671296
12/17/2020 17:52:02     0.000185185
12/17/2020 17:52:58     0.000648148
12/17/2020 17:53:23 
12/17/2020 17:54:00 
12/17/2020 17:54:16 
12/17/2020 17:55:32 
12/17/2020 17:56:01 
12/17/2020 17:56:44 

【问题讨论】:

  • (datetime.strptime(d2, "%m/%d/%Y %H:%M:%S") - datetime.strptime(d1, "%m/%d/%Y %H:%M:%S")).total_seconds() / timedelta(days=1).total_seconds() 将计算两个日期之间的差异

标签: python datetime datediff python-datetime


【解决方案1】:
import pandas as pd
df = pd.DataFrame({'datetime': {0: '12/17/2020 17:50:48',
  1: '12/17/2020 17:51:46',
  2: '12/17/2020 17:52:02',
  3: '12/17/2020 17:52:58',
  4: '12/17/2020 17:53:23',
  5: '12/17/2020 17:54:00',
  6: '12/17/2020 17:54:16',
  7: '12/17/2020 17:55:32',
  8: '12/17/2020 17:56:01',
  9: '12/17/2020 17:56:44'}})

df['datetime'] = pd.to_datetime(df['datetime'])
df['Calculation_(days)'] = (df['datetime'] - df['datetime'].shift()).dt.seconds / 86400
df.fillna(0, inplace=True)

输出

    datetime            Calculation_(days)
0   2020-12-17 17:50:48 0.000000
1   2020-12-17 17:51:46 0.000671
2   2020-12-17 17:52:02 0.000185
3   2020-12-17 17:52:58 0.000648
4   2020-12-17 17:53:23 0.000289
5   2020-12-17 17:54:00 0.000428
6   2020-12-17 17:54:16 0.000185
7   2020-12-17 17:55:32 0.000880
8   2020-12-17 17:56:01 0.000336
9   2020-12-17 17:56:44 0.000498

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-26
    • 2021-06-18
    • 2021-03-03
    • 1970-01-01
    • 1970-01-01
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多