![](/img/trans.png)
[英]How do I convert a string to a python datetime object with a relevant timezone?
[英]How do I convert these two arrays into a datetime object in Python?
我有彼此相鄰的兩列數組(日期和時間),我需要將它們轉換為日期時間對象,以便可以使用它們在x軸上繪制圖形。 這些數據在不斷更新,因此它們不是固定數字,只是固定。
datetime = np.column_stack((date,time))
datetime = np.array(datetime)
datetime
array([[b'143.0', b'08:15'],
[b'143.0', b'08:30'],
[b'143.0', b'08:45'],
[b'143.0', b'09:00'],
[b'143.0', b'09:15'],
[b'143.0', b'09:30'],
[b'143.0', b'09:45'],
[b'143.0', b'10:00'],
[b'143.0', b'10:15'],
[b'143.0', b'10:30'],
[b'143.0', b'10:45'],
[b'143.0', b'11:00'],
[b'143.0', b'11:15'],
[b'143.0', b'11:30'],
[b'143.0', b'11:45'],
[b'143.0', b'12:00'],
[b'143.0', b'12:15'],
[b'143.0', b'12:30'],
[b'143.0', b'12:45'],
[b'143.0', b'13:00'],
[b'143.0', b'13:15'],
[b'143.0', b'13:30'],
[b'143.0', b'13:45'],
[b'143.0', b'14:00'],
[b'143.0', b'14:15'],
[b'143.0', b'14:30'],
[b'143.0', b'14:45'],
[b'143.0', b'15:00'],
[b'143.0', b'15:15'],
[b'143.0', b'15:30'],
[b'143.0', b'15:45'],
[b'143.0', b'16:00'],
[b'143.0', b'16:15'],
[b'143.0', b'16:30'],
[b'143.0', b'16:45'],
[b'143.0', b'17:00'],
[b'143.0', b'17:15'],
[b'143.0', b'17:30'],
[b'143.0', b'17:45'],
[b'143.0', b'18:00'],
[b'143.0', b'18:15'],
[b'143.0', b'18:30'],
[b'143.0', b'18:45'],
[b'143.0', b'19:00'],
[b'143.0', b'19:15'],
[b'143.0', b'19:30'],
[b'143.0', b'19:45'],
[b'143.0', b'20:00'],
[b'143.0', b'20:15'],
[b'143.0', b'20:30'],
[b'143.0', b'20:45'],
[b'143.0', b'21:00'],
[b'143.0', b'21:15'],
[b'143.0', b'21:30'],
[b'143.0', b'21:45'],
[b'143.0', b'22:00'],
[b'143.0', b'22:15'],
[b'143.0', b'22:30'],
[b'143.0', b'22:45'],
[b'143.0', b'23:00'],
[b'143.0', b'23:15'],
[b'143.0', b'23:30'],
[b'143.0', b'23:45'],
[b'144.0', b'00:00'],
[b'144.0', b'00:15'],
[b'144.0', b'00:30'],
[b'144.0', b'00:45'],
[b'144.0', b'01:00'],
[b'144.0', b'01:15'],
[b'144.0', b'01:30'],
[b'144.0', b'01:45'],
[b'144.0', b'02:00'],
[b'144.0', b'02:15'],
[b'144.0', b'02:30'],
[b'144.0', b'02:45'],
[b'144.0', b'03:00'],
[b'144.0', b'03:15'],
[b'144.0', b'03:30'],
[b'144.0', b'03:45'],
[b'144.0', b'04:00'],
[b'144.0', b'04:15'],
[b'144.0', b'04:30'],
[b'144.0', b'04:45'],
[b'144.0', b'05:00'],
[b'144.0', b'05:15'],
[b'144.0', b'05:30'],
[b'144.0', b'05:45'],
[b'144.0', b'06:00'],
[b'144.0', b'06:15'],
[b'144.0', b'06:30'],
[b'144.0', b'06:45'],
[b'144.0', b'07:00'],
[b'144.0', b'07:15'],
[b'144.0', b'07:30'],
[b'144.0', b'07:45'],
[b'144.0', b'08:00'],
[b'144.0', b'08:15'],
[b'144.0', b'08:30'],
[b'144.0', b'08:45'],
[b'144.0', b'09:00'],
[b'144.0', b'09:15'],
[b'144.0', b'09:30'],
[b'144.0', b'09:45'],
[b'144.0', b'10:00'],
[b'144.0', b'10:15'],
[b'144.0', b'10:30'],
[b'144.0', b'10:45'],
[b'144.0', b'11:00'],
[b'144.0', b'11:15'],
[b'144.0', b'11:30'],
[b'144.0', b'11:45'],
[b'144.0', b'12:00'],
[b'144.0', b'12:15'],
[b'144.0', b'12:30'],
[b'144.0', b'12:45'],
[b'144.0', b'13:00'],
[b'144.0', b'13:15'],
[b'144.0', b'13:30'],
[b'144.0', b'13:45'],
[b'144.0', b'14:00'],
[b'144.0', b'14:15'],
[b'144.0', b'14:30'],
[b'144.0', b'14:45'],
[b'144.0', b'15:00'],
[b'144.0', b'15:15'],
[b'144.0', b'15:30'],
[b'144.0', b'15:45'],
[b'144.0', b'16:00'],
[b'144.0', b'16:15'],
[b'144.0', b'16:30'],
[b'144.0', b'16:45'],
[b'144.0', b'17:00'],
[b'144.0', b'17:15'],
[b'144.0', b'17:30'],
[b'144.0', b'17:45'],
[b'144.0', b'18:00'],
[b'144.0', b'18:15'],
[b'144.0', b'18:30'],
[b'144.0', b'18:45'],
[b'144.0', b'19:00'],
[b'144.0', b'19:15'],
[b'144.0', b'19:30'],
[b'144.0', b'19:45'],
[b'144.0', b'20:00'],
[b'144.0', b'20:15'],
[b'144.0', b'20:30'],
[b'144.0', b'20:45'],
[b'144.0', b'21:00'],
[b'144.0', b'21:15'],
[b'144.0', b'21:30'],
[b'144.0', b'21:45'],
[b'144.0', b'22:00'],
[b'144.0', b'22:15'],
[b'144.0', b'22:30'],
[b'144.0', b'22:45'],
[b'144.0', b'23:00'],
[b'144.0', b'23:15'],
[b'144.0', b'23:30'],
[b'144.0', b'23:45'],
[b'145.0', b'00:00'],
[b'145.0', b'00:15'],
[b'145.0', b'00:30'],
[b'145.0', b'00:45'],
[b'145.0', b'01:00'],
[b'145.0', b'01:15'],
[b'145.0', b'01:30'],
[b'145.0', b'01:45'],
[b'145.0', b'02:00'],
[b'145.0', b'02:15'],
[b'145.0', b'02:30'],
[b'145.0', b'02:45'],
[b'145.0', b'03:00'],
[b'145.0', b'03:15'],
[b'145.0', b'03:30'],
[b'145.0', b'03:45'],
[b'145.0', b'04:00'],
[b'145.0', b'04:15'],
[b'145.0', b'04:30'],
[b'145.0', b'04:45'],
[b'145.0', b'05:00'],
[b'145.0', b'05:15'],
[b'145.0', b'05:30'],
[b'145.0', b'05:45'],
[b'145.0', b'06:00'],
[b'145.0', b'06:15'],
[b'145.0', b'06:30'],
[b'145.0', b'06:45'],
[b'145.0', b'07:00'],
[b'145.0', b'07:15'],
[b'145.0', b'07:30'],
[b'145.0', b'07:45'],
[b'145.0', b'08:00']],
dtype='|S32')
第一列是儒略時間,因此基本上是今天之后的最后3天,因為它會更新為包括最近的3天。 任何幫助將不勝感激。
您可以先使用列表推導將數據重塑為與numpy的datetime64
類型兼容的格式,然后使用該格式創建一個數組。 看起來numpy不能與Python中的普通datetime.datetime
一起使用。
不能完全確定朱利安時間的工作方式,但是我假設您的第一列是從年初開始的一天。 這應該給您您想要的。
from datetime import datetime, timedelta
data = [[b'143.0', b'08:15'], [b'143.0', b'08:30']...]
base = datetime(2016, 1, 1, 0, 0, 0, 0)
transformed = [(base + timedelta(days=int(float(x)), hours=int(y[0:2]), minutes=int(y[3:5]))).isoformat() for x, y in data]
my_array = np.array(transformed, dtype='datetime64')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.