Создайте столбец «Рабочий час», чтобы указать, находилась ли определенная временная метка в рабочих часах в пандах.Python

Программы на Python
Ответить
Anonymous
 Создайте столбец «Рабочий час», чтобы указать, находилась ли определенная временная метка в рабочих часах в пандах.

Сообщение Anonymous »

Я пытаюсь добавить «Buiness_hour» в базу данных на основе значения индекса datetime. Скажем, если запись приходится на период с 08:00 до 18:00, запись в разделе «Рабочий_час» вернет «Да», иначе «Нет».
Существующий df выглядит следующим образом:


Индекс
Идентификатор пользователя




2021-03-31 20:54:54
143173


2021- 03-31 22:54:54
143173


2021-03- 31 09:54:54
143173



Я хотел бы вставить столбец «деловой час», чтобы узнать количество транзакций, совершенных в нерабочее время.



Индекс
Идентификатор пользователяBusiness_hr




2021- 03-31 20:54:54
143173
Нет


2021-03-31 22:54:54
143173
Нет


2021-03-31 09:54:54
143173
Да



Я пробовал использовать apply с лямбда-функцией
df['Business_hour'] = df.index.apply(
lambda x: 'Yes' if df.index.hour >= 9 and df.index.hour < 18 else 'No')

и там написано, что объект DatetimeIndex не имеет атрибута Apply
Затем я попробовал более простое решение и получил те же результаты:
def business_hr(x):
if x >= 8:
return 'Yes'
if x

Подробнее здесь: https://stackoverflow.com/questions/709 ... tamp-was-w
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»