логическое индексирование в pandas фрейме данных со столбцом timestamp и datetime.date-object - PullRequest
1 голос
/ 03 апреля 2020

Я немного растерялся. У меня есть фрейм данных с именами столбцов dates, который выглядит так:

>>> dates_df
    product   tile       date
0       L30  34JDN 2019-01-01
1       L30  34JDN 2019-01-10
2       L30  34JDN 2019-01-17
3       L30  34JDN 2019-01-26
4       L30  34JDN 2019-02-02
..      ...    ...        ...
175     L30  34JEP 2019-11-17
176     L30  34JEP 2019-11-26
177     L30  34JEP 2019-12-03
178     L30  34JEP 2019-12-12
179     L30  34JEP 2019-12-28

У меня также есть один объект <class 'datetime.date'>, который выглядит следующим образом:

>>> date_np
datetime.date(2019, 1, 1)

Когда я получаю первый элемент столбца date с dates_df["date"][0], он дает мне: Timestamp('2019-01-01 00:00:00').

Как я могу сопоставить эту временную метку и мой date_np -объект так, чтобы это выполнялось

dates_df[dates_df["date"] == date_np], потому что в данный момент он возвращает мне пустой фрейм данных.

Empty DataFrame
Columns: [product, tile, date]
Index: []

1 Ответ

1 голос
/ 03 апреля 2020

Используйте Series.dt.date для сравнения по скалярным датам:

dates_df[dates_df["date"].dt.date == date_np]

Или конвертируйте скаляр в datetime :

dates_df[dates_df["date"] == datetime(date_np.year, date_np.month, date_np.day)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...