Как написать CDF Пуассона как выражение полярностей PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как написать CDF Пуассона как выражение полярностей Python

Сообщение Anonymous »

У меня есть коллекция полярных выражений, которые используются для создания функций модели машинного обучения. Я хотел бы добавить в эту коллекцию функцию poission cdf, сохраняя при этом отложенное выполнение (с преимуществами скорости, кэширования и т. д.). Я до сих пор не нашел простого способа добиться этого.
Мне удалось получить желаемый результат за пределами желаемой структуры ленивых выражений с помощью:

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

import polars as pl
from scipy.stats import poisson

df = pl.DataFrame({"count": [9,2,3,4,5], "expected_count": [7.7, 0.2, 0.7, 1.1, 7.5]})
result = poisson.cdf(df["count"].to_numpy(), df["expected_count"].to_numpy())
df = df.with_columns(pl.Series(result).alias("poisson_cdf"))
Однако на самом деле мне бы хотелось, чтобы это выглядело так:

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

df = pl.DataFrame({"count": [9,2,3,4,5], "expected_count": [7.7, 0.2, 0.7, 1.1, 7.5]})
df = df.select(
[
... # bunch of other expressions here
poisson_cdf()
]
)
где poisson_cdf — это какое-то полярное выражение, например:

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

def poisson_cdf():
# this is just for illustration, clearly wont work
return scipy.stats.poisson.cdf(pl.col("count"), pl.col("expected_count")).alias("poisson_cdf")
Я также пробовал использовать структуру, состоящую из «count» и «expected_count», и применять ее, как рекомендовано в документации, при применении пользовательских функций. Однако на самом деле мой набор данных состоит из нескольких миллионов строк, что приводит к абсурдному времени выполнения.
Любые советы или рекомендации здесь будут оценены. В идеале где-нибудь существует такое выражение? Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/753 ... expression
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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