Wie wähle ich Zeilen nach dem Filter in Polars nach benutzerdefiniertem Index aus, ähnlich wie .loc in Pandas?Python

Python-Programme
Anonymous
 Wie wähle ich Zeilen nach dem Filter in Polars nach benutzerdefiniertem Index aus, ähnlich wie .loc in Pandas?

Post by Anonymous »

In Pandas können die Zeilenindizes nach dem Filtern/Sortieren eines DataFrames nicht sequentiell werden (z. B. [0, 10, 4]). Wenn ich .loc[10] verwende, kann ich die Zeile, die dem ursprünglichen Index 10 entspricht, aus dem DataFrame abrufen, der jetzt die zweite Zeile im gefilterten/sortierten DataFrame ist:

Code: Select all

import polars as pl

df = pl.DataFrame({"A": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]})

df_pd = df.to_pandas()
filtered_df = df_pd.loc[[0, 10, 4]]

# Retrieves the row where the original index is 4
print(filtered_df.loc[4])
Dies würde Folgendes ausgeben:

Code: Select all

A    4
Name: 4, dtype: int64
Ich versuche, dieses Verhalten in Polars zu reproduzieren. Um die ursprünglichen Zeilenindizes nach dem Filtern beizubehalten, habe ich mit .with_row_index() eine Indexspalte erstellt. Allerdings bin ich mir nicht sicher, wie ich von hier aus fortfahren soll. Ich benötige eine effiziente Lösung, die es mir ermöglicht, eine ähnliche .loc-Funktionalität zu verwenden, um nach dem Filtern oder Sortieren mehrere Zeilen anhand ihrer ursprünglichen Indizes in Polars auszuwählen.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post