【发布时间】:2014-05-28 16:46:10
【问题描述】:
我有十 (1000,1000) 个 numpy 数组。每个数组元素都包含一个浮点数,它代表一天中的小时。例如。 14.0 = 2pm 和 15.75 = 15:45pm。
我想找出这些数组之间的最大差异。结果应该是单个 (1000,1000) numpy 数组,其中每个数组元素包含十个数组之间的最大差异。目前我有以下,这似乎工作正常:
import numpy as np
max=np.maximum.reduce([data1,data2,data3,data4,data5])
min=np.minimum.reduce([data1,data2,data3,data4,data5])
diff=max-min
但是,它会导致晚上 11 点和凌晨 1 点之间的差异为 22 小时。我需要相差2小时。我想我需要以某种方式使用 datetime.time,但我不知道如何让 datetime 与 numpy 数组很好地配合。
编辑:时间是指一天中某个事件发生的平均时间,因此它们与特定日期无关。因此,两次差值可以正确解释为 22 小时或 2 小时。但是,我总是希望采取这两种可能的解释中的最低限度。
【问题讨论】:
-
没有日期,你怎么知道晚上 11 点和凌晨 1 点之间的时差是 2 小时而不是 22 小时。您需要日期来解决歧义。如果是同一天,则为 22 小时;如果它们来自连续几天,则为 2 小时。
-
你想要最小距离吗,因为你没有日子?就像您的示例状态一样,可能是 22 小时或 2 小时......
-
时间与日期无关,它们只是指一天中某个事件发生的平均时间。因此,差异可以解释为 22 小时或 2 小时,但我始终希望采用这两种可能解释中的最小值。
-
您是在寻找最大元素比较差异还是所有可能的数组 1 和 2 对之间的最大差异?
-
我正在寻找最大的元素比较差异。
标签: python arrays numpy time python-datetime