【问题标题】:Filtering out date array in Numpy Python在 Numpy Python 中过滤掉日期数组
【发布时间】:2021-08-18 07:12:07
【问题描述】:

datesvalues 是相关的。我正在尝试编写一个函数,它在given_date 之后过滤掉values 数组中的所有值。由于given_date'2017-09-15 11:40:30',日期'2017-09-15 07:11:00' ,'2017-09-15 11:25:30' 中的前两个索引位于given_date 之前,因此values 中的前两个索引被过滤掉。产生预期的输出。我怎么能做到这一点?

given_date= '2017-09-15 11:40:30'
dates= np.array(['2017-09-15 07:11:00' ,'2017-09-15 11:25:30', '2017-09-15 12:11:10', '2021-04-07 22:43:12', '2021-04-08 00:49:18'])
values= np.array([10,30,44,55,60])

预期输出:

[44,55,60]

【问题讨论】:

    标签: python arrays python-3.x numpy filter


    【解决方案1】:

    这些dates实际上是字符串,所以你应该treat them as dates

    import numpy as np
    
    given_date = np.datetime64('2017-09-15 11:40:30')
    dates = np.array([
        '2017-09-15 07:11:00' ,'2017-09-15 11:25:30', '2017-09-15 12:11:10', '2021-04-07 22:43:12', '2021-04-08 00:49:18'
    ], np.datetime64)
    values = np.array([10,30,44,55,60])
    
    # Use comparison operators like you would with numbers
    print(values[dates > given_date]) 
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-05
    • 1970-01-01
    相关资源
    最近更新 更多