绘制时间序列python

时间:2018-04-10 15:30:53

标签: python datetime matplotlib time strptime

我对Python很新,所以我为任何错误的术语道歉。我正在尝试使用matplotlib来绘制我从CSV文件中获取的数据。我已经读过matplotlib只接受以strptime()创建的格式传递给它的计时数据。我的问题源于这样一个事实:从数据收集当天午夜开始,时间数据以HH:MM格式提供给我。皱纹是指它不是以秒为单位给出实际时间,而是使用一分钟的小数表示秒数。我希望在我的数据中有一分钟的分辨率,所以当将每个数据传递给strptime()时,如何将04:26.9这样的数据转换为更传统的04:26:54。

提前致谢:)

2 个答案:

答案 0 :(得分:0)

看起来只是一个算法问题,与matplotlib没有任何关系。

import time

dates = ['23:11.1', '23:15.6']

def time_mapper(t):
    hour, minsec = t.split(':')
    minute, minute_fraction = minsec.split('.')
    minute_fraction = int(minute_fraction) / 10 ** len(minute_fraction)
    seconds = '{:02d}'.format(int(60 * minute_fraction))
    t = ':'.join([hour, minute, seconds])
    return time.strptime(t, '%H:%M:%S')

list(map(time_mapper, dates))

>> [time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=23, tm_min=11, tm_sec=6, tm_wday=0, tm_yday=1, tm_isdst=-1),
    time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=23, tm_min=15, tm_sec=36, tm_wday=0, tm_yday=1, tm_isdst=-1)]

答案 1 :(得分:0)

这样的事情可以解决问题:

Cookies.set('cookie1','cookieValue');