Ich versuche eine Funktion zu erstellen, die eine DF und filtert und neu arrangiert Zeilen, wobei die Elemente einer angegebenen Spalte c durch eine Liste L ausdrücklich angegeben werden. Der Filteraspekt funktioniert wie erwartet, aber die Sortierung ist nicht das, was ich erwarte. https://docs.pola.rs/api/python/dev/ref ... orted.html https://docs.pola .rs/api/python/stabil/reference/series/api/polars.series.search_sorted.html
import polars as pl
df = pl.DataFrame(
{
"a": [1, 2, 3],
"b": [6.0, 5.0, 4.0],
"c": ["z", "x", "y"],
}
)
def filter_sort_explicit(df, c, l):
"""
a function that filters a [df] on [c]olumn by explicitly specificying the order of the values (in that column) in a [list]
"""
return df.filter(pl.col(c).is_in(l)).sort(pl.col(c).search_sorted(l))
for order in ('y x z',
'z x y',
'x z',
'y x',
'z y'):
order = order.split()
print(filter_sort_explicit(df, 'c', order)['c'].to_list() == order)
## should all print true, but that's not the case.
for order in ('y x z', 'z x y', 'x y z'):
order = order.split()
print(order, df.sort(pl.col('c').search_sorted(order, side='left'))['c'].to_list())
Ich versuche eine Funktion zu erstellen, die eine DF und filtert und neu arrangiert Zeilen, wobei die Elemente einer angegebenen Spalte c durch eine Liste L ausdrücklich angegeben werden. Der Filteraspekt funktioniert wie erwartet, aber die Sortierung ist nicht das, was ich erwarte. https://docs.pola.rs/api/python/dev/reference/expressions/api/polars.expr.search_sorted.html https://docs.pola .rs/api/python/stabil/reference/series/api/polars.series.search_sorted.html [code]import polars as pl
def filter_sort_explicit(df, c, l): """ a function that filters a [df] on [c]olumn by explicitly specificying the order of the values (in that column) in a [list] """ return df.filter(pl.col(c).is_in(l)).sort(pl.col(c).search_sorted(l))
for order in ('y x z', 'z x y', 'x z', 'y x', 'z y'): order = order.split() print(filter_sort_explicit(df, 'c', order)['c'].to_list() == order)
## should all print true, but that's not the case.
for order in ('y x z', 'z x y', 'x y z'): order = order.split() print(order, df.sort(pl.col('c').search_sorted(order, side='left'))['c'].to_list())
Ich baue einen Python-Sudoku-Löser, um die klassischen und nicht-klassischen Sudokus mithilfe des cp_model aus der ortools-Bibliothek von Google zu lösen. Konkret versuche ich, eine Methode zu...
Ich baue einen Python-Sudoku-Löser, um die klassischen und nicht-klassischen Sudokus mithilfe des cp_model aus der ortools-Bibliothek von Google zu lösen. Konkret versuche ich, eine Methode zu...
Ich baue einen Python-Sudoku-Löser, um die klassischen und nicht-klassischen Sudokus mithilfe des cp_model aus der ortools-Bibliothek von Google zu lösen. Konkret versuche ich, eine Methode zu...
Ich habe diesen Code, der die Benutzerabfrage an Kafka sendet, zusammen mit Dokumenten, die aus dem elastischen Suchcontainer- und Geschäftsregeln vom MongoDB -Container zurückgegeben wurden. Das...