繁体   English   中英

Pandas:从可用数据中导出天、小时、分钟、秒时间戳

[英]Pandas: Derive a days, hours, minutes, seconds timestamp from available data

有了这个预期的数据,我想看看我是否可以返回以下结果:

#expected result
'12.22:05:38.3911208'
# mwe
df = pd.DataFrame({
                   'wrong_ts': '1970-01-13T22:05:38.391+0000',
                   'minutes': 18605,
                   'seconds': 38,
                   'ms': 391,
                   'expected': '12.22:05:38.3911208'})

这让我非常接近,但不完全是:

df['duration'] = df['minutes'].astype(str) + 'm ' + df['seconds'].astype(str) + 's ' +  df['ms'].astype(str) + 'ms'

pd.to_timedelta(df.duration)
# 12 days 22:05:38.391000

你可以试试这个。 使用to_pytimedelta并将时间转换为字符串。 然后从生成的字符串中拆分并获取所需格式的日期和时间。

time_delta = pd.to_timedelta(df.duration)

my_date = time_delta.dt.to_pytimedelta().astype(str)
split_time = my_date[0].split(',')
days = split_time[0]
time = split_time[1].strip()
print(days.split('days')[0].strip() + '.' + time)

输出:

12.22:05:38.391000

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM