ホームページ > バックエンド開発 > Python チュートリアル > 「Indicator」列の値が新しい列になるように Pandas でデータ テーブルを変換するにはどうすればよいですか?

「Indicator」列の値が新しい列になるように Pandas でデータ テーブルを変換するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-04 20:30:15
オリジナル
235 人が閲覧しました

How do I transform a data table in Pandas with the 'Indicator' column values becoming new columns?

Pandas でのデータフレームのピボット

このタスクには、CSV 形式のデータ テーブルの転置が含まれます。ここで、「Indicator」列の値は次のようになります。新しい列。望ましい結果は、行が「国」と「年」で定義され、列が「インジケーター」値であるフラット化された形式です。 >ピボット操作を実現するには、.pivot メソッドを次のように利用できます。

このメソッドは、「国」と「年」が行インデックスになり、「インジケーター」値が列になるようにデータを再配置します。結果として得られる 'out' 変数には、ピボットされたデータが保持されます。

データをフラット テーブル形式に戻すには、.rename_axis を使用して列から 'Indicator' ラベルを削除し、.reset_index を使用して 'country' を復元します。
out = df.pivot(index=['Country', 'Year'], columns='Indicator', values='Value')
ログイン後にコピー

これにより、「国」、「年」、および「年」を含むフラット化されたテーブルが生成されます。列としての「インジケーター」値。

.pivot_table の使用

print(out.rename_axis(columns=None).reset_index())
ログイン後にコピー

元の「国」、「年」、「インジケーター」の組み合わせが重複する場合データセット、.pivot_table を使用できます。重複した値に対して集計 (デフォルトで平均) が実行されます。

このアプローチにより、重複値が平均化され、列から「インジケーター」ラベルが省略されたフラット化されたテーブルが作成されます。

関連ドキュメント

out = df.pivot_table(
    index=['Country', 'Year'],
    columns='Indicator',
    values='Value')
print(out.rename_axis(columns=None).reset_index())
ログイン後にコピー

詳細については、 Pandas のテーブルの再形成とピボットについては、次のリソースを参照してください。

テーブルの再形成とピボット ユーザー ガイド

Pandas ドキュメント: 再形成とピボット

以上が「Indicator」列の値が新しい列になるように Pandas でデータ テーブルを変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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