Destiner (également connu sous le nom d'explosion) plusieurs colonnes de liste dans de grands DataFrames Pandas peut être une tâche gourmande en calcul, en particulier lorsque le la taille de l’ensemble de données est importante. Pour relever ce défi, nous explorons deux méthodes efficaces qui s'adaptent aux différentes versions de Pandas.
Pour les versions Pandas 1.3 et supérieures, la méthode DataFrame.explode fournit un moyen simple pour exploser plusieurs colonnes simultanément. Cette méthode nécessite que toutes les valeurs des colonnes sélectionnées aient des listes de taille égale. Transmettez simplement les noms de colonnes à la méthode d'explosion, comme indiqué ci-dessous :
df.explode(['B', 'C', 'D', 'E']).reset_index(drop=True)
Pour les anciennes versions de Pandas, nous pouvons utiliser Series.explode sur chaque colonne. Nous définissons d'abord comme index toutes les colonnes qui ne doivent pas être éclatées, puis réinitialisons l'index après l'opération.
df.set_index(['A']).apply(pd.Series.explode).reset_index()
Les deux méthodes offrent des performances efficaces, comme le démontre ce qui suit timings sur un grand ensemble de données :
%timeit df2.explode(['B', 'C', 'D', 'E']).reset_index(drop=True) %timeit df2.set_index(['A']).apply(pd.Series.explode).reset_index() # Pandas >= 1.3 (fastest) 2.59 ms ± 112 µs per loop # Pandas >= 0.25 1.27 ms ± 239 µs per loop
En tirant parti de ces méthodes efficaces, nous pouvons efficacement dissocier plusieurs colonnes de liste dans Pandas DataFrames de toute taille, permettant une analyse et une manipulation transparentes des données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!