需要Python代码帮助:我有创建日期和关闭日期的日期时间差,格式为- 01/30/2020 1:55:00和01/30/2020 09:44:00。需要将上述日期格式差异转换为总秒数。我该怎么做有时会有天数和时间的差异,比如- 25天,05:23:00。如何将上述两个日期之间的时间差格式转换为总秒数,并将其存储回与新列相同的数据帧中。
我们将非常感谢您提供的任何帮助。
发布于 2020-07-09 08:29:48
这段代码可能会对你有所帮助。
import datetime
date1 = "01/30/2020 1:55:00"
date2 = "01/30/2020 09:44:00"
date1_obj = datetime.datetime.strptime(date1, '%m/%d/%Y %H:%M:%S')
date2_obj = datetime.datetime.strptime(date2, '%m/%d/%Y %H:%M:%S')
difference_seconds = abs((date1_obj - date2_obj).seconds)
difference_days = abs((date1_obj - date2_obj).days)
print (difference_seconds)
print (difference_days)发布于 2020-07-09 08:35:50
datetime对象有一个名为timestamp()的方法,该方法返回自1970年初以来的秒数。只需对datetimes和subtract都这样做。
seconds = date1.timestamp() - date2.timestamp()发布于 2020-07-09 08:59:30
如果您使用的是pandas数据帧,那么可以使用series dt accessor将日期之间的差异转换为秒。
import pandas as pd
df = pd.DataFrame(data={
'from': ["01/30/2020 1:55:00", "01/25/2020 15:30:00"],
'to': ["01/30/2020 09:44:00", "01/26/2020 1:55:00"]})
# convert to datetime objects
df['from'] = pd.to_datetime(df['from'])
df['to'] = pd.to_datetime(df['to'])
df['difference'] = (df['to'] - df['from'])
df['difference_seconds'] = df['difference'].dt.total_seconds()
print(df)这将给出一个类似如下的表:
| | from | to | difference | difference_seconds |
|---:|:--------------------|:--------------------|:----------------|---------------------:|
| 0 | 2020-01-30 01:55:00 | 2020-01-30 09:44:00 | 0 days 07:49:00 | 28140 |
| 1 | 2020-01-25 15:30:00 | 2020-01-26 01:55:00 | 0 days 10:25:00 | 37500 |https://stackoverflow.com/questions/62805548
复制相似问题