Null-Aware-Auswertung in Polars 1.22.0 fehlerhaft?Python

Python-Programme
Anonymous
 Null-Aware-Auswertung in Polars 1.22.0 fehlerhaft?

Post by Anonymous »

Ich habe beobachtet, dass der Polarausdruck:

Code: Select all

pl.DataFrame(data={}).select(a=pl.lit(None) | pl.lit(True))
wird zu „True“ ausgewertet, sollte aber meiner Einschätzung nach zu „Keine“ ausgewertet werden,
basierend auf dem Konzept der „nullbewussten Auswertung“.

Dieses Konzept stellt sicher, dass, wenn ein Teil eines Ausdrucks zu
null ausgewertet wird, das Gesamtergebnis ebenfalls null ist. Dies ist besonders relevant
in Ausdrücken, die mehrere Operationen umfassen, bei denen das Vorhandensein eines
Nullwerts das Endergebnis beeinflussen kann.

Im Gegensatz dazu:

Code: Select all

pl.DataFrame(data={}).select(a=pl.lit(None) & pl.lit(True))
wird tatsächlich zu „Keine“ und nicht zu „Falsch“ ausgewertet. Und das gilt auch für alle Ausdrücke:

Code: Select all

pl.DataFrame(data={}).select(a=pl.lit(None) > pl.lit(2))
pl.DataFrame(data={}).select(a=pl.lit(None) < pl.lit(2))
pl.DataFrame(data={}).select(a=pl.lit(None) == pl.lit(2))
pl.DataFrame(data={}).select(a=pl.lit(None) + pl.lit(2))
pl.DataFrame(data={}).select(a=pl.lit(None) - pl.lit(2))
pl.DataFrame(data={}).select(a=pl.lit(None) * pl.lit(2))
pl.DataFrame(data={}).select(a=pl.lit(None) / pl.lit(2))
Was ist hier los?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post