我有一些數據,我必須在我的應用程序中關閉,而且我不知道如何以合理可理解的方式進行操作。如何「擴展」python時間序列號
我們有一系列未確定的數據,它們有不同的間隔。間隔時間可以是小時,每天,每週...例如:
hourly_data = {
'interval': '1h',
'data': [('05/10/2014 00:00', 10),
('05/10/2014 01:00', 11),
('05/10/2014 03:00', 6),
('05/10/2014 04:00', 8),
...
]
}
daily_data = {
'interval': '1d',
'data': [('05/10/2014 00:00', 87),
('05/11/2014 00:00', 73),
('05/12/2014 00:00', 86),
('05/13/2014 00:00', 99),
...
]
}
我需要比較這些數據。假設數據是工廠的生產數據,我需要計算每小時完成的每日生產的百分比。我需要遍歷hourly_data
列表,並將該值與daily_data
中的對應值進行比較。
複雜的部分出現在我們不知道我們必須與這個系統「比較」多少個系列時(在這個例子中只有兩個,但可以多一些),也不知道這個系列中的每個系列會有多少間隔。我所知道的是,我必須按照我描述的系統循環播放這個系列文章。
我想到的所有可能的解決方案都很愚蠢,絕對難以閱讀。你將如何面對這個算法?
編輯
回答到@ user3727843,時間間隔的選擇是相當窄:每小時,每天,每週和每月。就這樣。我想從數據中「學習」的內容完全是任意的。我已經解釋了百分比例子,因爲它很容易理解,但我想建立任何類型的關係。
我認爲解決這個問題的最通用的方法是「擴大」數據以匹配最小的間隔。類似這樣的:
expanded_data = [
[('05/10/2014 00:00', 10), ('05/10/2014 00:00', 87)],
[('05/10/2014 01:00', 11), ('05/10/2014 00:00', 87)],
....
[('05/11/2014 16:00', 7), ('05/11/2014 00:00', 93)],
[('05/11/2014 17:00', 11), ('05/11/2014 00:00', 93)],
....
]
我編輯了這個問題來回答你的建議。 –
編輯我的回覆 – user3727843
比較的數學不是問題。其實它已經寫好了。問題是如何以合理清晰的方式編寫數據列表擴展 –