ホームページ > バックエンド開発 > Python チュートリアル > Pandas の `.explode()` メソッドはどのようにしてリストベースの列を個別の行に変換できますか?

Pandas の `.explode()` メソッドはどのようにしてリストベースの列を個別の行に変換できますか?

Linda Hamilton
リリース: 2024-11-29 20:25:11
オリジナル
960 人が閲覧しました

How Can Pandas' `.explode()` Method Transform List-Based Columns into Separate Rows?

Pandas の .explode() メソッドを利用してリストを行に展開する

Pandas では、リストの列を含む DataFrame を処理するのが困難になることがあります。リスト要素は別の行として表されます。ここで .explode() メソッドが登場します。

Pandas ≥ 0.25

Pandas バージョン 0.25 以降の場合、ゲームチェンジャーは .explode( ) 方法。リストのような列を個別の行に分解し、長い形式から広い形式に変換できます。

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
ログイン後にコピー

.explode() は一度に 1 つの列に対して動作することに注意してください。混合型 (リストとスカラーなど) を含む列の場合、 .explode() は適切に動作し、空のリストと NaN を保持します。

以上がPandas の `.explode()` メソッドはどのようにしてリストベースの列を個別の行に変換できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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