ホームページ > バックエンド開発 > Python チュートリアル > さまざまな方法を使用して Pandas DataFrame をピボットするにはどうすればよいですか?

さまざまな方法を使用して Pandas DataFrame をピボットするにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-01 10:22:10
オリジナル
436 人が閲覧しました

How Can I Pivot a Pandas DataFrame Using Different Methods?

データフレームをピボットするにはどうすればよいですか?

概要

DataFrame をピボットするには、データを再配置してデータの方向を変更する必要があります。行は列になり、列は行になります。これは、Pandas の pivot_table、groupby unstack、set_index unstack、pivot、crosstab メソッドの使用など、いくつかの方法で実行できます。

Pivot メソッド

  • pivot_table は、データのピボット。これにより、ピボットされた DataFrame の行、列、値、および使用する集計関数を指定できます。
  • groupby unstack は、データ フレームを作成するための groupby メソッドと unstack メソッドを組み合わせたものです。ここでは、特定の列のデータをグループ化し、データをピボットするためにグループ化によって作成された新しいインデックスのレベルをスタック解除します。
  • set_index unstack は、データをピボットするためのもう 1 つの便利な手法です。 set_index は、DataFrame のインデックスを指定された列に設定し、unstack は、現在の階層インデックスを、対応するセルの値を含む列ヘッダーに変更します。
  • pivot は、データをピボットするためのスカラー メソッドです。 。これは、スカラー (1 次元) 値の列でのみ使用してください。このメソッドは、データ フレームの列を行インデックスとして、または行から列への行列値としてピボットできます。
  • crosstab は、インデックス/行と列を行ヘッダーと列ヘッダーとして使用してクロス集計を簡単に作成できる、pivot_table の特殊なバージョンです。 .

コードのデモ

以下は、次のような DataFrame の簡単な例です。 pivoted:

import pandas as pd

# Create a DataFrame name df
df = pd.DataFrame({'Name' : ['Alice', 'Bob', 'Carol', 'Dave'],
                   'Age' : [20, 25, 30, 35],
                   'City' : ['New York', 'Boston', 'Chicago', 'Dallas']})

# Pivot the DataFrame using pivot_table method
df_pivoted = df.pivot_table(index = 'Name', columns = 'City', values = 'Age')

# Display the pivoted DataFrame
print(df_pivoted)
ログイン後にコピー

出力:

City    Boston  Chicago  Dallas  New York
Name
Alice    NaN      NaN      NaN       20
Bob      25      NaN      NaN       NaN 
Carol    NaN      30      NaN       NaN 
Dave     NaN      NaN      35       NaN 
ログイン後にコピー

結論

パンダの pivot メソッドは、スワップによってデータをロング形式からワイド形式に変換するために使用されます。データ フレームの行と列。これらの方法はすべて、複雑なレベルのデータを理解するのに非常に役立つため、必要に応じて上記で説明した方法のいずれかを選択できます。データ フレームのピボットに関する疑問が解消されたことを願っています。何か問題が発生した場合は、お気軽にディスカッションを続けてください。

以上がさまざまな方法を使用して Pandas DataFrame をピボットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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