ホームページ  >  記事  >  バックエンド開発  >  Pandas でデータをロング形式からワイド形式に再形成する方法: ステップバイステップ ガイド

Pandas でデータをロング形式からワイド形式に再形成する方法: ステップバイステップ ガイド

DDD
DDDオリジナル
2024-10-28 05:26:30841ブラウズ

How to Reshape Data from Long to Wide Format in Pandas: A Step-by-Step Guide

Pandas での長いデータから広いデータへの再構成: 包括的なガイド

多くのデータセットは、最初は長い形式で保存され、各行は単一の観測値と複数の変数が列としてリストされます。ただし、多くの場合、データをワイド形式に再形成する必要が生じます。各行は、2 つ以上の変数の値の一意の組み合わせに対応します。

問題: ロング データからワイド データへの変換Pandas では、特にメルト/スタック/アンスタック メソッドを使用する場合、フォーマットは面倒な作業になる可能性があります。たとえば、次のロングフォーマット データフレームを考えてみましょう:

<code class="python">import pandas as pd

data = pd.DataFrame({
    'Salesman': ['Knut', 'Knut', 'Knut', 'Steve'],
    'Height': [6, 6, 6, 5],
    'product': ['bat', 'ball', 'wand', 'pen'],
    'price': [5, 1, 3, 2]
})</code>

ワイド フォーマットへの再形成:

データをワイド フォーマットに再形成するには、Chris Albon の解決策:

長いデータフレームを作成:

<code class="python">raw_data = {
    'patient': [1, 1, 1, 2, 2],
    'obs': [1, 2, 3, 1, 2],
    'treatment': [0, 1, 0, 1, 0],
    'score': [6252, 24243, 2345, 2342, 23525]
}

df = pd.DataFrame(raw_data, columns=['patient', 'obs', 'treatment', 'score'])</code>

幅広に変形:

<code class="python">df.pivot(index='patient', columns='obs', values='score')</code>

これにより、目的のワイドフォーマット データフレーム:

<code class="python">obs           1        2       3
patient
1        6252.0  24243.0  2345.0
2        2342.0  23525.0     NaN</code>

以上がPandas でデータをロング形式からワイド形式に再形成する方法: ステップバイステップ ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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