Поляры: вычислить построчный квантиль по DataFrame ⇐ Python

Программы на Python
Anonymous
Поляры: вычислить построчный квантиль по DataFrame

Сообщение Anonymous »

У меня есть несколько полярных DataFrames, по которым я хочу вычислить некоторую статистику по строкам.
Для некоторых существует функция .list.func (например, список .mean), однако для тех, у кого нет специальной функции, я считаю, что я должен использовать list.eval.
Для следующих примеров данных:

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

df = pl.DataFrame({
'a': [1,10,1,.1,.1,     np.NAN],
'b': [2, 8,1,.2, np.NAN,np.NAN],
'c': [3, 6,2,.3,.2,     np.NAN],
'd': [4, 4,3,.4, np.NAN,np.NAN],
'e': [5, 2,3,.5,.3,     np.NAN],
}, strict=False)
Мне удалось придумать следующее выражение.
Похоже, что list.eval возвращает список (который, я полагаю, является более общим), поэтому мне нужно вызвать .explode в полученном списке из 1 элемента, чтобы получить одно значение.
Результирующий столбец принимает имя первого столбца , поэтому мне нужно вызвать .alias, чтобы дать ему более значимое имя.

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

df.select(
pl.concat_list(
pl.all().fill_nan(None)
)
.list.eval(pl.element().quantile(0.25))
.explode()
.alias('q1')
)
Это рекомендуемый способ вычисления по строкам?


Подробнее здесь: https://stackoverflow.com/questions/778 ... -dataframe

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