Ausnahme in .map_elements() auslösenPython

Python-Programme
Guest
 Ausnahme in .map_elements() auslösen

Post by Guest »

Update: Dies wurde durch pull/20417 in Polars 1.18.0 behoben

Ich verwende .map_elements< /code>, um eine komplexe Python-Funktion auf jedes Element einer Polarenreihe anzuwenden. Dies ist ein Spielzeugbeispiel:

Code: Select all

import polars as pl

df = pl.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]})

def sum_cols(row):
return row["A"] + row["B"]

df.with_columns(
pl.struct(pl.all())
.map_elements(sum_cols, return_dtype=pl.Int32).alias("summed")
)

shape: (3, 3)
┌─────┬─────┬────────┐
│ A   ┆ B   ┆ summed │
│ --- ┆ --- ┆ ---    │
│ i64 ┆ i64 ┆ i32    │
╞═════╪═════╪════════╡
│ 1   ┆ 4   ┆ 5      │
│ 2   ┆ 5   ┆ 7      │
│ 3   ┆ 6   ┆ 9      │
└─────┴─────┴────────┘
Wenn meine Funktion jedoch eine Ausnahme auslöst, verwendet Polars stillschweigend Nullen als Ausgabe der Berechnung:

Code: Select all

def sum_cols(row):
raise Exception
return row["A"] + row["B"]

df.with_columns(
pl.struct(pl.all())
.map_elements(sum_cols, return_dtype=pl.Int32).alias("summed")
)

shape: (3, 3)
┌─────┬─────┬────────┐
│ A   ┆ B   ┆ summed │
│ --- ┆ --- ┆ ---    │
│ i64 ┆ i64 ┆ i32    │
╞═════╪═════╪════════╡
│ 1   ┆ 4   ┆ null   │
│ 2   ┆ 5   ┆ null   │
│ 3   ┆ 6   ┆ null   │
└─────┴─────┴────────┘
Wie kann ich dafür sorgen, dass der Polars-Befehl fehlschlägt, wenn meine Funktion eine Ausnahme auslöst?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post