Как классифицировать часы с метками времени на день и ночь? - PullRequest
0 голосов
/ 19 сентября 2018

Мне было интересно, как мы можем классифицировать столбец меток времени в фрейме данных в столбец «День и ночь» на основе времени?

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

d_call["time"] = d_call["timestamp"].apply(lambda x: x.time())

d_call["time"].head(1)
 0    17:10:52
 Name: time, dtype: object

def day_night(name):

    for i in name:

        if i.hour > 17: 
             return "night"

        else:
            return "day"

 day_night(d_call["time"])
 'day'

d_call["Day / Night"]= d_call["time"].apply(lambda x: day_night(x))

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

1 Ответ

0 голосов
/ 19 сентября 2018

Вы можете сократить время, чтобы получить часы с отметкой времени и час, который вы можете назначить своей категории, вы также можете использовать другие условия для установки диапазона времени

Considered df
0   2018-06-18 15:05:52.246
1   2018-05-24 21:44:07.903
2   2018-06-06 21:00:19.635
3   2018-05-24 21:44:37.883
4   2018-05-30 11:19:36.546
5   2018-05-25 11:16:07.969
6   2018-05-24 21:43:35.077
7   2018-06-07 18:39:00.258
Name: modified_at, dtype: datetime64[ns]

df['day/night'] = df.modified_at.apply(lambda x:'night'  if int(x.strftime('%H')) >19 else 'day')

Out:

0      day
1    night
2    night
3    night
4      day
5      day
6    night
7      day
Name: modified_at, dtype: object
...