如何在 python 中将白天转换为白天?
How to convert daytime to day in python?
我有以下 table :
DayTime
1 days 19:55:00
134 days 15:34:00
如何将白天转换为全天?这意味着时间将变为天(除以 24)
您可以通过除以 Timedelta
单位将 Timedeltas
转换为数字时间单位。例如,
import pandas as pd
df = pd.DataFrame({'DayTime':['1 days 19:55:00', '134 days 15:34:00']})
df['DayTime'] = pd.to_timedelta(df['DayTime'])
days = df['DayTime'] / pd.Timedelta(hours=24)
print(days)
产量
0 1.829861
1 134.648611
Name: DayTime, dtype: float64
请注意,上面我假设 1 天 = 24 小时。这并不总是完全正确的。有些日子是 24 小时 + 1 leap second 长。
不使用pandas并且在python2.7中(python3个timedeltas可以直接划分):
import re
from datetime import timedelta
def full_days(day_time):
d, h, m, s = map(int, re.split('\D+', day_time))
delta = timedelta(hours=h, minutes=m, seconds=s)
return d + delta.total_seconds() / timedelta(days=1).total_seconds()
print full_days('1 days 19:55:00')
print full_days('0 days 43:55:00')
print full_days('134 days 15:34:00')
输出:
1.82986111111
1.82986111111
134.648611111
我有以下 table :
DayTime
1 days 19:55:00
134 days 15:34:00
如何将白天转换为全天?这意味着时间将变为天(除以 24)
您可以通过除以 Timedelta
单位将 Timedeltas
转换为数字时间单位。例如,
import pandas as pd
df = pd.DataFrame({'DayTime':['1 days 19:55:00', '134 days 15:34:00']})
df['DayTime'] = pd.to_timedelta(df['DayTime'])
days = df['DayTime'] / pd.Timedelta(hours=24)
print(days)
产量
0 1.829861
1 134.648611
Name: DayTime, dtype: float64
请注意,上面我假设 1 天 = 24 小时。这并不总是完全正确的。有些日子是 24 小时 + 1 leap second 长。
不使用pandas并且在python2.7中(python3个timedeltas可以直接划分):
import re
from datetime import timedelta
def full_days(day_time):
d, h, m, s = map(int, re.split('\D+', day_time))
delta = timedelta(hours=h, minutes=m, seconds=s)
return d + delta.total_seconds() / timedelta(days=1).total_seconds()
print full_days('1 days 19:55:00')
print full_days('0 days 43:55:00')
print full_days('134 days 15:34:00')
输出:
1.82986111111
1.82986111111
134.648611111