Hat Polars Groupby eine ähnliche Funktion wie idxmax() von Pandas?Python

Python-Programme
Anonymous
 Hat Polars Groupby eine ähnliche Funktion wie idxmax() von Pandas?

Post by Anonymous »

In Pandas kann ich die obere Spalte mit idxmax() abrufen

Code: Select all

import polars as pl
import pandas as pd

A = ['a','a','a','a','a','a','a','b','b','b','b','b','b','b']
B = [1,2,3,4,5,6,7,8,9,10,11,12,13,14]

df = pl.DataFrame({'cola':A,
'colb':B})

df_pd = df.to_pandas()

index = df_pd.groupby('cola')['colb'].idxmax()
df_pd.loc[index,'top'] = 1
Wenn ich jedoch in Polars arg_max() verwende, erhalte ich eine Fehlermeldung:

Code: Select all

index = df[pl.col('colb').arg_max().over('cola').flatten()]
# TypeError: cannot select columns using key of type 'Expr'
Gibt es eine Möglichkeit, die „oberste“ Spalte in Polars zu generieren?

Code: Select all

with pl.Config(tbl_rows=-1):
print(pl.from_pandas(df_pd))

Code: Select all

shape: (14, 3)
┌──────┬──────┬──────┐
│ cola ┆ colb ┆ top  │
│ ---  ┆ ---  ┆ ---  │
│ str  ┆ i64  ┆ f64  │
╞══════╪══════╪══════╡
│ a    ┆ 1    ┆ null │
│ a    ┆ 2    ┆ null │
│ a    ┆ 3    ┆ null │
│ a    ┆ 4    ┆ null │
│ a    ┆ 5    ┆ null │
│ a    ┆ 6    ┆ null │
│ a    ┆ 7    ┆ 1.0  │
│ b    ┆ 8    ┆ null │
│ b    ┆ 9    ┆ null │
│ b    ┆ 10   ┆ null │
│ b    ┆ 11   ┆ null │
│ b    ┆ 12   ┆ null │
│ b    ┆ 13   ┆ null │
│ b    ┆ 14   ┆ 1.0  │
└──────┴──────┴──────┘

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post