Как сбросить столбец даты и времени, чтобы он был с шагом в одну минуту в python - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть фрейм данных, у которого есть столбец даты и времени, называемый временем начала, и он установлен по умолчанию в 12:00:00 AM. Я хотел бы сбросить этот столбец, чтобы первая строка была 00:01:00, а вторая - 00:02:00, то есть с интервалом в одну минуту.

Это исходная таблица.

ID     State Time   End Time
A001    12:00:00    12:00:00
A002    12:00:00    12:00:00
A003    12:00:00    12:00:00
A004    12:00:00    12:00:00
A005    12:00:00    12:00:00
A006    12:00:00    12:00:00
A007    12:00:00    12:00:00

Я хочу сбросить столбец времени начала, чтобы мои выходные данные были такими:

ID    State Time    End Time
A001    0:00:00    12:00:00
A002    0:00:01    12:00:00
A003    0:00:02    12:00:00
A004    0:00:03    12:00:00
A005    0:00:04    12:00:00
A006    0:00:05    12:00:00
A007    0:00:06    12:00:00

Как мне это сделать?

Ответы [ 2 ]

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

Сначала мы конвертируем ваш столбец State Time в тип datetime. Затем мы используем pd.date_range и используем first время в качестве отправной точки с частотой 1 minute.

df['State Time'] = pd.to_datetime(df['State Time'])
df['State Time'] = pd.date_range(start=df['State Time'].min(), 
                                 periods=len(df), 
                                 freq='min').time

Выход

     ID State Time  End Time
0  A001   12:00:00  12:00:00
1  A002   12:01:00  12:00:00
2  A003   12:02:00  12:00:00
3  A004   12:03:00  12:00:00
4  A005   12:04:00  12:00:00
5  A006   12:05:00  12:00:00
6  A007   12:06:00  12:00:00
1 голос
/ 30 сентября 2019

вы можете использовать pd.date_range:

df['Start Time'] = pd.date_range('00:00', periods=df['Start Time'].shape[0], freq='1min')

дает вам

df
Out[23]: 
           Start Time
0 2019-09-30 00:00:00
1 2019-09-30 00:01:00
2 2019-09-30 00:02:00
3 2019-09-30 00:03:00
4 2019-09-30 00:04:00
5 2019-09-30 00:05:00
6 2019-09-30 00:06:00
7 2019-09-30 00:07:00
8 2019-09-30 00:08:00
9 2019-09-30 00:09:00

предоставить полную строку даты / времени для получения другой даты начала.

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