python - 查找两个日期时间数组 python 之间的重复日期

标签 python arrays datetime

我有两个日期时间数组,我试图输出一个数组,其中只有那些在两个数组之间重复的日期。我觉得这是我应该能够回答自己的问题,但我已经花了很多时间时间搜索,我不明白如何解决这个问题。

>>> datetime1[0:4]
array([datetime.datetime(2014, 6, 19, 4, 0), 
datetime.datetime(2014, 6, 19, 5, 0),
datetime.datetime(2014, 6, 19, 6, 0),
datetime.datetime(2014, 6, 19, 7, 0)], dtype=object)

>>> datetime2[0:4]
array([datetime.datetime(2014, 6, 19, 3, 0),
datetime.datetime(2014, 6, 19, 4, 0),
datetime.datetime(2014, 6, 19, 5, 0),
datetime.datetime(2014, 6, 19, 6, 0)], dtype=object)

我已经在下面尝试过了,但我仍然不明白为什么这不起作用

>>> np.where(datetime1==datetime2)
(array([], dtype=int64),)

最佳答案

这个:

datetime1==datetime2

逐元素比较。它将 [0] 与 [0] 进行比较,然后将 [1] 与 [1] 进行比较,并为您提供一个 bool 数组。

相反,尝试:

np.in1d(datetime1, datetime2)

这为您提供了一个与 datetime1 大小相同的 bool 数组,对于存在于 datetime2 中的那些元素设置为 True。

如果您的目标只是获取而不是索引,请使用:

np.intersect1d(datetime1, datetime2)

https://docs.scipy.org/doc/numpy/reference/generated/numpy.intersect1d.html

关于python - 查找两个日期时间数组 python 之间的重复日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45890758/

相关文章:

c++ - 二维数组的输出元素

c# - 遍历 StartDate 和 EndDate 之间的每一天

python - PyCUDA:设备代码中的 Pow 尝试使用 std::pow,失败

Python:通过 FTP 上传大量文件

python - 从数据框中删除随机行,直到计数等于某些条件

arrays - 通过改变数据结构来加速在 Perl 中的数组搜索

python - 在 numpy 数组上应用矢量化和非矢量化函数

c++ - int **p 是什么意思?

python - 将时间转换为 float

R数据表推荐的处理日期时间的方法