Получить максимальное значение из кадра данных

У меня есть фрейм данных 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

Вы можете использовать max_horizontal, чтобы получить максимальное значение в строке.

Tim Roberts 09.07.2024 18:57

Вам следует показать filter, который вы хотите выполнить, потому что, скорее всего, все это можно сделать с помощью «выражений» вместо материализации значений в переменных Python.

jqurious 09.07.2024 18:58
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
2
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

если вы хотите просто получить максимальное количество всех столбцов даты и времени в переменную, вы можете сделать это:

  • селекторы для выбора только столбцов даты и времени.
  • max_horizontal() чтобы получить максимальное значение строки.
  • to_series() для преобразования DataFrame в Series.
  • max(), чтобы получить максимальное значение результирующей серии.
import polars.selectors as cs

dummy_df.select(pl.max_horizontal(cs.datetime())).to_series().max()

Другие вопросы по теме