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

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

Linda Hamilton
リリース: 2024-12-03 11:45:12
オリジナル
351 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート