df index to hour (нельзя использовать to.datetime) - PullRequest
0 голосов
/ 08 ноября 2018

Я хочу добавить новый столбец «время», который является индексом формы преобразования, например, от 1 до 01:00, от 2 до 02:00 (для час ).Я пытался установить дату и время, но это привело к полной дате, а индекс превращается только во вторую.

df['time'] = df.index

          prob       time
0   9.172968e-01      0
1   8.585100e-01      1
2   7.957514e-01      2
3   7.239329e-01      3
4   6.729420e-01      4
5   6.187557e-01      5
6   5.572768e-01      6

Ожидаемый результат:

        prob          time
0   9.172968e-01      00:00
1   8.585100e-01      01:00
2   7.957514e-01      02:00
3   7.239329e-01      03:00
4   6.729420e-01      04:00
5   6.187557e-01      05:00
6   5.572768e-01      06:00

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

Пожалуйста, проверьте, работает ли это.

df = df.assign(time = [ datetime.datetime.strptime(str(val),'%H').strftime('%H-%M') if val < 24 else  datetime.datetime.strptime(str(val%24),'%H').strftime('%H-%M') for val in df.index.values])
0 голосов
/ 08 ноября 2018

Использование to_timedelta с unit м

df['time']=pd.to_timedelta(df.index,unit='m')
df
Out[456]: 
       prob     time
0  0.917297 00:00:00
1  0.858510 00:01:00
2  0.795751 00:02:00
3  0.723933 00:03:00
4  0.672942 00:04:00
5  0.618756 00:05:00
6  0.557277 00:06:00
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...