Kernkontexte Select vs With_Columns
Swipe um das Menü anzuzeigen
Häufig besteht die Notwendigkeit, in Polars DataFrames neue Spalten zu erstellen oder bestehende zu verändern. Zwei zentrale Methoden hierfür sind select und with_columns. Beide erfüllen unterschiedliche Zwecke, und das Verständnis ihres Einsatzes hilft dabei, klareren und effizienteren Code zu schreiben. Angenommen, es gibt ein games_df DataFrame mit den Spalten positive_reviews, negative_reviews und total_reviews. Ziel ist es, den Prozentsatz positiver Bewertungen für jedes Spiel zu berechnen. Mit select kann ein neues DataFrame erstellt werden, das nur die berechnete Spalte enthält, während mit with_columns neue Spalten zum bestehenden DataFrame hinzugefügt werden können.
In einer Videolektion würde eine Demonstration beider Ansätze gezeigt. Zuerst wird mit select ein DataFrame mit einer neuen Spalte namens positive_pct erstellt, berechnet als positive_reviews / total_reviews:
1234567891011121314151617181920212223import polars as pl # Sample DataFrame games_df = pl.DataFrame({ "game": ["Game A", "Game B"], "positive_reviews": [80, 50], "negative_reviews": [20, 50], "total_reviews": [100, 100] }) # Using select to create a new DataFrame with only the calculated column positive_pct_df = games_df.select( (pl.col("positive_reviews") / pl.col("total_reviews")).alias("positive_pct") ) print("Result of select (only positive_pct column):") print(positive_pct_df) # Using with_columns to add a new column to the existing DataFrame games_df = games_df.with_columns( (pl.col("negative_reviews") / pl.col("total_reviews")).alias("negative_pct") ) print("\nResult of with_columns (original columns plus negative_pct):") print(games_df)
Anschließend wird gezeigt, wie mit with_columns eine neue Spalte, beispielsweise negative_pct, zum bestehenden DataFrame hinzugefügt werden kann. Diese Spalte wird als negative_reviews / total_reviews berechnet:
12345# Using with_columns to add a new column to the existing DataFrame games_df = games_df.with_columns( (pl.col("negative_reviews") / pl.col("total_reviews")).alias("negative_pct") ) print(games_df)
Beachte, dass select ein neues DataFrame mit nur den angegebenen Spalten zurückgibt, während with_columns das bestehende DataFrame durch Hinzufügen oder Aktualisieren von Spalten verändert. Diese Unterscheidung ist wichtig, wenn du entscheidest, wie du deine Datenumwandlungen strukturierst.
Um die Unterschiede zwischen select und with_columns zu verdeutlichen, findest du nachfolgend eine Vergleichstabelle. Diese Tabelle zeigt die wichtigsten Unterschiede und bietet ein prägnantes Beispiel für jede Methode.
Bei Verwendung von select wird ein neues DataFrame erstellt, das nur die angegebenen Spalten enthält. Dies ist nützlich, wenn der Fokus auf einem Teil der Spalten oder berechneten Werten liegt. Im Gegensatz dazu eignet sich with_columns ideal zum Hinzufügen neuer Spalten oder zum Aktualisieren bestehender Spalten innerhalb desselben DataFrames, wobei alle anderen Spalten erhalten bleiben.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen