Например, учитывая следующий DataFrame :
Код: Выделить всё
import polars as pl
df = pl.DataFrame({
"HomeLambda": [1.5, 2.0, 3.2]
})
- Применить np.random.poisson(lam=HomeLambda, size=1000) для каждого row.
- Подсчитайте вхождения каждого значения в 1000 образцов.
Найдите значение с наибольшим количеством (режим) для каждой строки.< /li>
Код: Выделить всё
shape: (3, 2)
┌─────────────┬──────────────┐
│ HomeLambda │ PredictedHome│
│ --- │ --- │
│ f64 │ i64 │
├─────────────┼──────────────┤
│ 1.5 │ 1 │
│ 2.0 │ 2 │
│ 3.2 │ 3 │
└─────────────┴──────────────┘
Моя первоначальная попытка выглядела примерно так, но я не могу понять, как включить np .random.poisson в рабочий процесс Polars:
Код: Выделить всё
lambda_table.with_columns(
pl.Series(rng.poisson(lam=pl.col("HomeLambda"), size=1000)).value_counts().top_k(k=1,by="count")['count'].item().alias("PredictedHome"),
)
Подробнее здесь: https://stackoverflow.com/questions/792 ... most-frequ