試圖在python中實現時間序列預測模型,但是面臨datetime數據問題。在Pandas中預測時間序列的日期時間問題
所以我有日期時間的兩列的數據幀「DF」和float類型:
然後我嘗試使用值的方法,來構建陣列。但不便奇怪的事情發生,它顯示與時間戳和時間在陌生的格式日期:
,基本的緣故吧,我不能採用這一模式接收例如以下消息:「不能添加積分值到無時間戳的時間戳。「
那麼,似乎是什麼問題,如何解決?
試圖在python中實現時間序列預測模型,但是面臨datetime數據問題。在Pandas中預測時間序列的日期時間問題
所以我有日期時間的兩列的數據幀「DF」和float類型:
然後我嘗試使用值的方法,來構建陣列。但不便奇怪的事情發生,它顯示與時間戳和時間在陌生的格式日期:
,基本的緣故吧,我不能採用這一模式接收例如以下消息:「不能添加積分值到無時間戳的時間戳。「
那麼,似乎是什麼問題,如何解決?
。
首先,創建numpy
數組時,所有類型都是相同的。但是,datetime64
與int
不一樣。所以我們必須解決這個問題,而且我們會。
其次,你試圖用df.values
來做到這一點。然而,有意義的是,pandas
將整個df
變成dtype=object
,然後變成object
陣列。問題在於Timestamps
的左邊是Timestamps
,這是阻礙你的。
所以我想將它們轉換對我自己這樣
a = np.column_stack([df[c].values.astype(int) for c in ['transaction_date', 'amount']])
a
array([[1454284800000000000, 1],
[1454371200000000000, 2],
[1454457600000000000, 3],
[1454544000000000000, 4],
[1454630400000000000, 5]])
我們總是可以轉換回的第一列這樣
a[:, 0].astype(df.transaction_date.values.dtype)
array(['2016-02-01T00:00:00.000000000', '2016-02-02T00:00:00.000000000',
'2016-02-03T00:00:00.000000000', '2016-02-04T00:00:00.000000000',
'2016-02-05T00:00:00.000000000'], dtype='datetime64[ns]')
您可以將整數轉換成timedelta
,並執行計算像之前:很複雜
from datetime import timedelta
interval = timedelta(days = 5)
#5 days later
time_stamp += interval
實際數據請。圖片沒有幫助 – piRSquared