Как запустить DataFrame быстрее, чем «для»? - PullRequest
0 голосов
/ 23 сентября 2019

Мне нужно пройти через столбец TimeStamp кадра данных (строка за строкой).Этот фрейм данных имеет приблизительно 40 000 000 строк.Я делаю это с for, это работает.Однако это занимает много времени.Интересно, есть ли у вас что-нибудь быстрее?

index   TimeStamp             FAILURE MESSAGE
0       2018-01-01 00:00:00   'DOOR OPEN'
1       2018-01-01 00:00:01   'DOOR OPEN'
2       2018-01-01 00:00:02   'DOOR OPEN'

Код:

cont = 0
for i in range(0, len(df)):
    if(df['TimeStamp'].iloc[i] >= '2018-01-01 00:00:01'):
        cont +=1

1 Ответ

1 голос
/ 23 сентября 2019

Я бы сделал

(df['Timestamp'] >= pd.Timestamp('2018-01-1 00:00:01')).sum()

Панды оптимизированы так, что вам, как правило, не нужно зацикливаться на этом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...