Fusion de données
Glissez pour afficher le menu
La fusion de données provenant de plusieurs sources est une tâche courante dans la manipulation de données, en particulier lorsque vous souhaitez enrichir votre jeu de données principal avec des informations supplémentaires. Dans ce chapitre, vous apprendrez à joindre games_df avec spy_insights_df en utilisant la colonne app_id comme clé. Polars propose des opérations de jointure flexibles et efficaces, ce qui facilite la combinaison des jeux de données tout en contrôlant la gestion des lignes non appariées. Les deux types de jointures les plus courants que vous utiliserez sont la jointure à gauche et la jointure interne.
Une jointure à gauche retourne toutes les lignes du DataFrame de gauche (games_df) et ajoute les lignes correspondantes du DataFrame de droite (spy_insights_df). S'il n'y a pas de correspondance, les colonnes du côté droit seront remplies avec des valeurs nulles. Une jointure interne retourne uniquement les lignes pour lesquelles il existe une correspondance dans les deux DataFrames, en excluant toutes les lignes de l'un ou l'autre DataFrame qui n'ont pas de app_id correspondant dans l'autre.
1234567891011121314151617181920212223import polars as pl # Sample games_df games_df = pl.DataFrame({ "app_id": [1, 2, 3, 4], "game_name": ["Space Quest", "Jungle Run", "Mystery Manor", "Puzzle Island"] }) # Sample spy_insights_df spy_insights_df = pl.DataFrame({ "app_id": [2, 3, 5], "insight": ["High engagement", "Trending", "Low installs"] }) # Left join: all rows from games_df, matched data from spy_insights_df left_joined = games_df.join(spy_insights_df, on="app_id", how="left") print("Left Join Result:") print(left_joined) # Inner join: only rows with matching app_id in both DataFrames inner_joined = games_df.join(spy_insights_df, on="app_id", how="inner") print("\nInner Join Result:") print(inner_joined)
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion