Вот ситуация, с которой я часто сталкиваюсь:
Есть кадр данных и в .with_columns() я применяю некоторую операцию к столбцу. Например, я конвертирую некоторые даты из типа str в date, а затем хочу вычислить продолжительность между датой начала и окончания. Я бы реализовал это следующим образом.
Код: Выделить всё
import polars as pl
pl.DataFrame(
{
"start": ["01.01.2019", "01.01.2020"],
"end": ["11.01.2019", "01.05.2020"],
}
).with_columns(
pl.col("start").str.to_date(),
pl.col("end").str.to_date(),
).with_columns(
(pl.col("end") - pl.col("start")).alias("duration"),
)
Что-то короче, подобное этому, не работает :
Код: Выделить всё
pl.DataFrame(
{
"start": ["01.01.2019", "01.01.2020"],
"end": ["11.01.2019", "01.05.2020"],
}
).with_columns(
pl.col("start").str.to_date(),
pl.col("end").str.to_date(),
(pl.col("end") - pl.col("start")).alias("duration"),
)
Код: Выделить всё
# InvalidOperationError: sub operation not supported for dtypes `str` and `str`
Подробнее здесь: https://stackoverflow.com/questions/756 ... ing-polars