比较numpy数组和没有年份的日期时间

哈里·亚当斯

我有一个 numpy 数组,我希望按日期时间过滤。我当前具有将输入日期时间(startend)与数据框进行比较的功能,如下所示:

    if trim:
        columns = input_hdf.columns.get_level_values(0)
        print(str(columns))
        print(start)
        print(end)
        if start is not None and end is not None:
            mask = (columns >= start) & (columns <= end)
        elif start is not None:
            mask = (columns >= start)
        elif end is not None:
            mask = (columns <= end)
        else:
            # Should never reach this point, but just in case - mask will not affect the data
            mask = True
        input_hdf = input_hdf.loc[:, mask]

但是,我想添加将开始和结束的功能指定为“一年中的某一天”,其中年份与比较无关 - 如果该日期晚于 10 月 1 日,则将其排除,无论是 2001 年还是 2021 年.

我目前正在通过以下方式将整数值转换为日期时间:

start = datetime.strptime(start, '%d-%m-%Y') if start else None

这给出了默认年份 1900,这将成为比较的一部分。

代码不同

pandas 对日期和时间有更好的支持。这个答案利用了表单mm-dd中的日期时间字符串是可排序的这一事实

dates = <ndarray of dates>
s = pd.Series(dates, index=dates).dt.strftime('%m-%d')

# Select between Oct 1 and Dec 31 of all years
cond = ('10-01' <= s) & (s <= '12-31')
selected = s[cond].index.values

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当我只有年份可用时,如何根据日期时间字段在数据库中查询行?

在熊猫市中没有年份的日期

Java:如何以对语言环境敏感的方式显示工作日,月份和日期,而没有年份

如何在JPQL中比较时间戳和日期而没有时间?

Syslog时间戳没有年份?

如何使用MEDIUM或FULL日期类型使用IntlDateFormatter格式化日期,但没有年份?

如何在matplotlib上强制设置x刻度,或设置没有年份的日期时间类型

创建没有年份的月和日序列

为什么numpy.datetime64会给出带有年份数组的错误?

将仅具有年份(有时)的ac#字符串转换为日期时间

比较日期时间的numpy数组和时间戳

从没有年份表的范围中选择所有年份

带有年份选择和时间选择的Javascript日历

如果在PHP中同时具有年份和星期#(ISO-8601的星期数),如何获取日期?

选择所有年份的日期

日期比较没有时间

如何获取表中所有年份的两个日期(月和日)之间的记录?

获取信息。关于MySQL中没有年份的日期

没有年份的 Javascript 倒计时

排序没有年份的日期

查询以在没有年份的两个日期之间进行选择

没有年份的本地化日期

日志存储日期过滤器 - 没有年份的模式

golang如何在没有年份的情况下解析时间,但默认为当前年份

我如何在没有日期和年份的情况下只获取 python 中的时间?

如何在sql oracle中获取开始日期和结束日期之间的所有年份

没有年份的日期选择器

比较对象数组中的日期和时间

如何将季度时间序列转换为没有年份和季度标签的表格格式?