У меня есть фрейм данных Polars, который содержит следующие столбцы ID
, Values_A
, Values_B
. Я пытаюсь получить последнюю дату для фильтра, который собираюсь использовать позже, поэтому мне нужно получить самую последнюю дату для всех моих данных.
import polars as pl
from datetime import datetime
data = {
"ID" : [1,2,3],
"Values_A" : [datetime(1,1,2),datetime(1,1,3),datetime(1,1,4)],
"Values_B" : [datetime(1,1,4),datetime(1,1,7),datetime(1,1,2)]
}
dummy_df = pl.DataFrame(data)
dummy_df
Я использую dummy_df.max()
и мой результат:
┌─────┬─────────────────────┬─────────────────────┐
│ ID ┆ Values_A ┆ Values_B │
│ --- ┆ --- ┆ --- │
│ i64 ┆ datetime[μs] ┆ datetime[μs] │
╞═════╪═════════════════════╪═════════════════════╡
│ 3 ┆ 0001-01-04 00:00:00 ┆ 0001-01-07 00:00:00 │
└─────┴─────────────────────┴─────────────────────┘
Однако в данном случае я бы сохранил его в переменной максимальной даты 0001-01-07 00:00:00
Вам следует показать filter
, который вы хотите выполнить, потому что, скорее всего, все это можно сделать с помощью «выражений» вместо материализации значений в переменных Python.
если вы хотите просто получить максимальное количество всех столбцов даты и времени в переменную, вы можете сделать это:
import polars.selectors as cs
dummy_df.select(pl.max_horizontal(cs.datetime())).to_series().max()
Вы можете использовать
max_horizontal
, чтобы получить максимальное значение в строке.