Pandas DataFrames のネストされたリストの解明: 行拡張
Pandas データフレームでデータを操作するとき、リストを含む列が発生する可能性があります。複数の値。分析と操作を容易にするために、これらのリストを個別の行に変換する必要があります。 「ロングフォーミング」または「行拡張」として知られるこのプロセスにより、各リスト要素が独自の行を占有することができます。
これを実現するために、Pandas は .explode() と呼ばれる専用のメソッドを提供します。 、バージョン 0.25 で導入されました。このメソッドは、指定されたリストを含む列を一連の行にシームレスに変換し、各要素が独立した行になります。
実装:
を使用するには.explode() メソッドでは、展開したい列名を指定するだけです。デフォルトでは、他のすべての列の値を保持しながら、列内の各要素に新しい行を作成します。
たとえば、値のリストを含む「samples」列を含むデータフレームを考えてみましょう。
import pandas as pd import numpy as np 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() を適用するmethod:
df.explode('samples')
結果は次のデータフレームになります:
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 2 1 -0.08 7 2 1 -4.22 8 2 1 -2.05 9 2 2 0.72 10 2 2 0.79 11 2 2 0.53
ご覧のとおり、各リスト要素には独自の行が含まれています。このメソッドはリストを効率的に展開しますが、一度に 1 つの列に対して展開することに注意してください。
追加の考慮事項:
以上がPandas DataFrame のネストされたリストを別の行に展開するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。