In Pandas kann der Umgang mit DataFrames, die Listenspalten enthalten, eine Herausforderung sein, wenn Sie jede einzelne haben möchten Listenelement, das als separate Zeile dargestellt wird. Hier kommt die .explode()-Methode ins Spiel.
Pandas ≥ 0,25
Für Pandas-Versionen 0.25 und höher ist der Game-Changer die .explode( ) Methode. Es ermöglicht Ihnen, eine listenartige Spalte in separate Zeilen zu zerlegen und sie so von ihrer langen Form in eine breite Form umzuwandeln.
import pandas as pd # Sample DataFrame df = pd.DataFrame({ 'trial_num': [1, 2, 3, 1, 2, 3], 'subject': [1, 1, 1, 2, 2, 2], 'samples': [list(np.random.randn(3).round(2)) for i in range(6)] }) # Explode using .explode() exploded_df = df.explode('samples') # Reset index to be monotonically increasing (optional) exploded_df = exploded_df.reset_index(drop=True) print(exploded_df) # Output: # subject trial_num sample # 0 1 1 0.57 # 1 1 1 -0.83 # 2 1 1 1.44 # 3 1 2 -0.01 # 4 1 2 1.13 # 5 1 2 0.36 # 6 1 3 1.18 # 7 2 1 -0.08 # 8 2 1 -4.22 # 9 2 1 -2.05 # 10 2 2 0.72 # 11 2 2 0.79 # 12 2 2 0.53 # 13 2 3 0.4 # 14 2 3 -0.32 # 15 2 3 -0.13
Beachten Sie, dass .explode() jeweils nur für eine einzelne Spalte arbeitet. Bei Spalten, die gemischte Typen enthalten (z. B. Listen und Skalare), verhält sich .explode() sinnvoll und behält leere Listen und NaNs bei.
Das obige ist der detaillierte Inhalt vonWie kann die Methode „.explode()' von Pandas listenbasierte Spalten in separate Zeilen umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!