我有csv
格式的機票可用性的離散時間數據。這用於表示出發和到達時間窗口組合的票證可用性。說我的天分爲4個時間段 -Python:從列表中填充下三角矩陣
12:01 AM to 6:00 AM,
6:01 AM to 12:00 PM,
12:01 PM to 6:00 PM,
6:01 PM to 12:00 AM
1意味着有可用於出發和到達,否則爲0的那個組合門票。對於這個例子,可以說,該票可用於所有出發到達的組合,CSV文件將具有以下數據:
1,1,1,1,1,1,1,1,1,1
這個數據是用來表示這個矩陣(請注意,某些組合成爲零這裏,因爲他們是24小時內不合邏輯時間組合):
Departure time period
12:01 AM to 6:00 AM | 6:01 AM to 12:00 PM | 12:01 PM to 6:00 PM | 6:01 PM to 12:00 AM|
Arrival time period ------------------- | ---------------------|---------------------|---------------------|
12:01 AM to 6:00 AM 1 | 0| 0| 0|
6:01 AM to 12:00 PM 1 | 1| 0| 0|
12:01 PM to 6:00 PM 1 | 1| 1| 0|
6:01 PM to 12:00 AM 1 | 1| 1| 1|
的csv
文件有這個數據多天。我已將這些數據作爲字典讀取,日期是關鍵字,可用性組合是列表。數據處理正在Python 2.7
中完成。對於特定的一天,我現在可以通過使用日期鍵來檢索可用性列表。
現在,我有2個問題:
我怎樣才能將數據轉換成矩陣 類型的數據結構。實質上,這涉及將列表轉換爲較低的三角形矩陣加對角線元素。我曾嘗試使用
numpy
中的 重塑功能,但是沒有實現此結果。一旦我轉換了矩陣 - 我想以圖形方式將可用性表示爲專題網格 - 所有1均表示爲綠色方塊,0表示爲紅色方塊。這在Python中可以實現嗎?怎麼樣?
我認爲在csv
閱讀作爲一本字典,然後存儲在列表中的可用元素是去,因爲它似乎相當簡單的方式。如果您覺得有更聰明的方法來做到這一點,修改方法。
任何想法的人?!?