Значение истины для Expr неоднозначно в сфере экспансии на датахPython

Программы на Python
Anonymous
Значение истины для Expr неоднозначно в сфере экспансии на датах

Сообщение Anonymous »

Я пытаюсь учитывать использование комнаты только в рабочее время и сократить продолжительность события, если оно проходит через окончание рабочих часов. /p>

Код: Выделить всё

import polars as pl
from datetime import datetime

df = pl.DataFrame({
'name': 'foo',
'start': datetime.fromisoformat('2025-01-01 08:00:00'),
'end': datetime.fromisoformat('2025-01-01 18:00:00'), # ends after business hours
'business_end': datetime.fromisoformat('2025-01-01 17:00:00')
})
Я хочу сделать что -то подобное, чтобы создать столбец продолжительности, который равен End , если это не After Business_end в противном случае установлена ​​на Business End : < /p>

Код: Выделить всё

df.with_columns(
duration=pl.col('end') - pl.col('start') if pl.col('end') 
Это дает ошибку: < /p>

typeerror: значение истинного значения expr неоднозначно < /p>
< /blockquote>
Мысли о том, как произвести желаемую строку из условной? < /p>
связанный выше. Я могу использовать filter () 
для поиска строк, где концы событий находятся после Business_end, создать рамку из них, заменить значение времени окончания, Munge обратно и т. Д., Но я надеялся сохранить исходные данные и только добавить новый столбец.


Подробнее здесь: https://stackoverflow.com/questions/794 ... n-on-dates

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