ホームページ  >  記事  >  バックエンド開発  >  Pandas データフレームをピボットして特定の列ごとにデータを再形成するにはどうすればよいですか?

Pandas データフレームをピボットして特定の列ごとにデータを再形成するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-23 01:25:16188ブラウズ

How Can I Pivot a Pandas Dataframe to Reshape Data by Specific Columns?

データ ピボットのための Pandas データフレームの転置

データ分析では、データフレームを転置することは、データをより適切な形式に整理するために重要です。一般的な使用例の 1 つは、特定の列の値に基づいてデータフレームをピボットすることです。

次のようなデータを含む CSV テーブルの場合、

Indicator  Country  Year  Value
1          Angola   2005  6
2          Angola   2005  13
3          Angola   2005  10
4          Angola   2005  11
5          Angola   2005  5
1          Angola   2006  3
2          Angola   2006  2
3          Angola   2006  7
4          Angola   2006  3
5          Angola   2006  6

データフレームをピボットしてこの形式を取得できます:

Country  Year  1  2   3   4   5
Angola   2005  6  13  10  11  5
Angola   2006  3  2   7   3   6

この変換を実現するには、.pivot メソッドを次のように利用できます。

out = df.pivot(index=['Country', 'Year'], columns='Indicator', values='Value')
print(out)

ラベルの組み合わせが重複するデータの場合は、デフォルトで平均計算を適用する .pivot_table メソッドを使用できます。

out = df.pivot_table(
    index=['Country', 'Year'],
    columns='Indicator',
    values='Value')
print(out.rename_axis(columns=None).reset_index())

.rename_axis と を利用します。 reset_index メソッドを使用すると、データフレームをフラット テーブル形式に復元できます。

Pandas ユーザー ガイドを参照してください。再形成とピボット テーブルに関する詳細なドキュメントについては、こちらをご覧ください。

以上がPandas データフレームをピボットして特定の列ごとにデータを再形成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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