pandas では、複数のリストを含むセルを含むデータフレームが発生する可能性があります。価値観。複数の値を 1 つのセルに格納する代わりに、リスト内の各項目が独自の行を占めるようにデータフレームを拡張すると効果的です。
Pandas バージョン 0.25 以降では、 Series と DataFrame の両方の .explode() メソッド。このメソッドは、リスト要素を個別の行に効果的に分離します。
列を分解するには、次の構文を使用するだけです:
df.explode('column_name')
たとえば、次のデータフレームを考えてみましょう:
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)] } )
「サンプル」列を分解するには、次のようにします。 use:
df_exploded = df.explode('samples')
これにより、目的の出力が生成されます:
subject trial_num samples 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 # etc.
。 explode() メソッドは、リストとスカラーの混合列も処理できます。空のリストと NaN として。ただし、一度に爆発できるのは 1 つの列のみであることに注意することが重要です。
以上がPandas DataFrame 内でリストを展開する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。