Python Polars: расчет режима прокрутки по нескольким столбцамPython

Программы на Python
Anonymous
 Python Polars: расчет режима прокрутки по нескольким столбцам

Сообщение Anonymous »

У меня есть Polars.DataFrame, например:

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

data = pl.DataFrame({
"col1": [3, 2, 4, 7, 1, 10, 7],
"col2": [3, 4, None, 1, None, 1, 9],
"col3": [3, 1, None, None, None, None, 4],
"col4": [None, 5, None, None, None, None, None],
"col5": [None, None, None, None, None, None, None]})

┌──────┬──────┬──────┬──────┬──────┐
│ col1 ┆ col2 ┆ col3 ┆ col4 ┆ col5 │
│ ---  ┆ ---  ┆ ---  ┆ ---  ┆ ---  │
│ i64  ┆ i64  ┆ i64  ┆ i64  ┆ f32  │
╞══════╪══════╪══════╪══════╪══════╡
│ 3    ┆ 3    ┆ 3    ┆ null ┆ null │
│ 2    ┆ 4    ┆ 1    ┆ 5    ┆ null │
│ 4    ┆ null ┆ null ┆ null ┆ null │
│ 7    ┆ 1    ┆ null ┆ null ┆ null │
│ 1    ┆ null ┆ null ┆ null ┆ null │
│ 10   ┆ 1    ┆ null ┆ null ┆ null │
│ 7    ┆ 9    ┆ 4    ┆ null ┆ null │
└──────┴──────┴──────┴──────┴──────┘
Я хочу создать новый столбец, содержащий режим прокрутки, но не на основе одного столбца и соответствующих значений строк в окне, а на основе значений строк всех столбцов в окне. Нулевые значения должны быть удалены и не должны появляться в результирующих столбцах в качестве значения режима.
редактировать:
Я внес некоторые изменения в предоставленный пример данных. Для дальнейших разъяснений и в предположении чего-то вроде Polars.rolling_apply(, window_size=2, min_ periods=1, center=False) я ожидаю следующего результата:

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

┌──────┐
│ res  │
│ ---  │
│ i64  │
╞══════╡
│ 3    │
│ 3    │
│ 4    │
│ None │ 

Подробнее здесь: [url]https://stackoverflow.com/questions/77071244/python-polars-calculate-rolling-mode-over-multiple-columns[/url]

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