Найти эти записи в массиве Numpy больше, чем ввод даты и времени - PullRequest
0 голосов
/ 18 января 2019

Я бы хотел получить обратно те записи массива datetime, которые больше моей входной переменной datetime.

К сожалению, я получаю эту ошибку при выполнении кода ниже:

TypeError: '>' not supported between instances of 'int' and 'datetime.datetime'

Это мой код:

import numpy as np
import pandas as pd
myRange = pd.date_range('2018-04-09', periods=5, freq='1D20min')

myArray = np.array(myRange).astype(np.datetime64).reshape(-1,1)
print("myArray:", myArray)
myDatetime = pd.datetime(2018,4,10,2,59,59)

myArray[myArray>myDatetime]

.

myArray: [['2018-04-09T00:00:00.000000000']
 ['2018-04-10T00:20:00.000000000']
 ['2018-04-11T00:40:00.000000000']
 ['2018-04-12T01:00:00.000000000']
 ['2018-04-13T01:20:00.000000000']]

1 Ответ

0 голосов
/ 19 января 2019

Проблема заключается в сравнении:
myArray (типа np.datetime64) с
myDateTime (типа pd.datetime)

Изменение myDateTime на недействительное datetime64 дает результат.

import numpy as np
import pandas as pd
myRange = pd.date_range('2018-04-09', periods=5, freq='1D20min')

myArray = np.array(myRange).astype(np.datetime64).reshape(-1,1)
print("myArray:", myArray)
myDatetime = np.datetime64("2018-04-10T02:59:59")

myArray[myArray>myDatetime]

дает:

myArray: [['2018-04-09T00:00:00.000000000']
['2018-04-10T00:20:00.000000000']
['2018-04-11T00:40:00.000000000']
['2018-04-12T01:00:00.000000000']
['2018-04-13T01:20:00.000000000']]
Out[27]: 
array(['2018-04-11T00:40:00.000000000', 
       '2018-04-12T01:00:00.000000000',
       '2018-04-13T01:20:00.000000000'], dtype='datetime64[ns]')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...