我有一個時間值數組= = [hh:mm:ss],秒數爲13.80秒,15.90秒等等。我所試圖做的事:將時間戳轉換爲可繪製的值數組
import time
for i in timestamp_array:
new_time = time.strptime(i,"%H:%M:%S")
我得到的錯誤:
ValueError: unconverted data remains: .80
如何面對呢? 謝謝!
我有一個時間值數組= = [hh:mm:ss],秒數爲13.80秒,15.90秒等等。我所試圖做的事:將時間戳轉換爲可繪製的值數組
import time
for i in timestamp_array:
new_time = time.strptime(i,"%H:%M:%S")
我得到的錯誤:
ValueError: unconverted data remains: .80
如何面對呢? 謝謝!
由於您要繪製這些值,因此我會建議您使用matplotlib.dates
,您可以將時間轉換爲數字,也可以將時間轉換爲向後。
In [12]:
import matplotlib.dates as mpd
mpd.datestr2num('12:23:12')
Out[12]:
735420.5161111112
In [13]:
mpd.num2date(735420.5161111112)
Out[13]:
datetime.datetime(2014, 7, 6, 12, 23, 12, tzinfo=<matplotlib.dates._UTC object at 0x051FD9F0>)
一個小例子:
plt.plot([mpd.datestr2num('12:23:12.89'), mpd.datestr2num('12:23:13.89')],
[1,2], 'o')
ax=plt.gca()
ax.xaxis.set_major_locator(mpd.HourLocator())
ax.xaxis.set_major_formatter(mpd.DateFormatter('%H:%M:%S.%f'))
我有小數點以上的秒數超過61 –
如'12:23:61''?我認爲這會引發一個例外。但是'12:23:12.81'可以正常工作。 –
太棒了!工作,但我該如何繪製顯示實際的時間值字符串,因爲735420.51611112對於顯示效果不是很好 –
如果我嘗試嘗試,除了ValueError異常解析它內部的for循環中,我得到一個錯誤,指出時間數據不匹配指定的格式。請幫忙!!! –
我明白這裏的問題是秒數小數從0-61開始,我的值超過了61.我該如何解決這個問題? –
通過情節你的意思是'matplotlib'?在這種情況下,你可以使用'matplotlib.dates',特別是'datestr2num()'方法。 –