Polarengruppe, indem ein Wert zurückgegeben wird, wenn die Filter nicht übereinstimmenPython

Python-Programme
Anonymous
 Polarengruppe, indem ein Wert zurückgegeben wird, wenn die Filter nicht übereinstimmen

Post by Anonymous »

Nehmen wir an, ich habe diesen Polardatenrahmen

Code: Select all

import polars as pl

df = pl.from_repr("""
┌───────────┬─────┬─────┐
│ group_col ┆ b   ┆ c   │
│ ---       ┆ --- ┆ --- │
│ str       ┆ i64 ┆ i64 │
╞═══════════╪═════╪═════╡
│ g1        ┆ 1   ┆ 4   │
│ g1        ┆ 2   ┆ 5   │
│ g2        ┆ 3   ┆ 6   │
└───────────┴─────┴─────┘
""")
Ich muss eine Gruppierung nach so erstellen:

Code: Select all

df.group_by("group_col").agg(
pl.col("c").filter((pl.col("b") >= 1) & (pl.col('b').max() == pl.col('b'))).max().alias("gte")
)

Code: Select all

shape: (2, 2)
┌───────────┬─────┐
│ group_col ┆ gte │
│ ---       ┆ --- │
│ str       ┆ i64 │
╞═══════════╪═════╡
│ g1        ┆ 5   │
│ g2        ┆ 6   │
└───────────┴─────┘
Warum ist in diesem Fall der Wert in Spalte gte in der Gruppe g1 nicht null? Angesichts des Filters & (pl.col('b').max() == pl.col('b'))?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post