Как перебрать столбец панд time_stamp? - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть DataFrame, в котором есть столбец time_stamp, который я создал с помощью функции pd.to_datetime.

date_start             | column2 |  column3  | column...
2018-09-22 12:30:00          x         x        x

Я не могу сопоставить отметку времени, когда пытаюсь выполнить переход по этому столбцу.

например, когда я ничего не получаю, когда я пытаюсь:

for i in df['date_start']: 
    if i == user_entry: 
        print('something')

Я никогда не получу правильное значение, даже если в записи пользователя определенно есть соответствующее значение.

Может ли кто-нибудь помочь?

Ответы [ 2 ]

0 голосов
/ 02 декабря 2018

Вы можете использовать векторизованные методы Панд.Нет необходимости вводить модуль datetime из стандартной библиотеки, поскольку pd.to_datetime работает со скалярами и множеством удобочитаемых форматов:

import pandas as pd

s = pd.Series(['01/01/2018 12:30:00', '01/02/2018 15:20:12', '12/25/2018 10:45:15'])
s = pd.to_datetime(s)

user_entry = input()  # input '2018-01-01 12:30:00'

if (s == pd.to_datetime(user_entry)).any():
    print('Match found!')

# 2018-01-01 12:30:00
# Match found!
0 голосов
/ 30 ноября 2018

Не совсем понятно, что представляет user_entry, но я вполне уверен, что это что-то вроде этого ... Посмотрите на следующее:

Создайте свою серию даты и времени:

>>> import pandas as pd
>>> s = pd.Series(['01/01/2018', '01/02/2018', '12/25/2018'])
>>> s = pd.to_datetime(s)
>>> s
0   2018-01-01
1   2018-01-02
2   2018-12-25
dtype: datetime64[ns]

Получите пользовательскую запись, используя input:

>>> user_entry = input()
01/02/2018
>>> type(user_entry)
<class 'str'>

Теперь, преобразуйте это user_entry в объект даты и времени:

>>> import datetime
>>> user_entry = datetime.datetime.strptime(user_entry, '%m/%d/%Y')
>>> user_entry
datetime.datetime(2018, 1, 2, 0, 0)

Продолжите свою итерацию:

>>> for dt in s:
...     if dt == user_entry:
...             print('Match')
... 
Match
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...