我有格式的机票可用性的离散时间数据csv
。这用于表示出发和到达时间窗口组合的机票可用性。假设我的一天分为4个时间段-
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
. 对于特定的一天,我现在可以使用日期键检索可用性列表。
现在,我有两个问题:
如何将数据转换为矩阵类型的数据结构。本质上,这涉及将列表转换为下三角矩阵加上对角线元素。我尝试过使用 reshape 函数,
numpy
但没有达到这个结果。一旦我转换了矩阵 - 我想以图形方式将可用性表示为主题网格 - 所有 1 为绿色方块,0 为红色方块。这在 Python 中可以实现吗?如何?
我认为csv
作为字典阅读然后将可用性元素存储在列表中是可行的方法,因为它看起来相当简单。如果您觉得有更聪明的方法可以做到这一点,请修改方法。
大家有什么想法吗?!?