ホームページ >バックエンド開発 >Python チュートリアル >Pandas DataFrame 内でリストを展開する方法?

Pandas DataFrame 内でリストを展開する方法?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-03 11:45:12301ブラウズ

How to Explode Lists Within Pandas DataFrames?

Pandas の展開リスト

問題ステートメント

pandas では、複数のリストを含むセルを含むデータフレームが発生する可能性があります。価値観。複数の値を 1 つのセルに格納する代わりに、リスト内の各項目が独自の行を占めるようにデータフレームを拡張すると効果的です。

Pandas のソリューション >= 0.25 h3>

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。