このタスクには、CSV 形式のデータ テーブルの転置が含まれます。ここで、「Indicator」列の値は次のようになります。新しい列。望ましい結果は、行が「国」と「年」で定義され、列が「インジケーター」値であるフラット化された形式です。 >ピボット操作を実現するには、.pivot メソッドを次のように利用できます。
このメソッドは、「国」と「年」が行インデックスになり、「インジケーター」値が列になるようにデータを再配置します。結果として得られる 'out' 変数には、ピボットされたデータが保持されます。データをフラット テーブル形式に戻すには、.rename_axis を使用して列から 'Indicator' ラベルを削除し、.reset_index を使用して 'country' を復元します。out = df.pivot(index=['Country', 'Year'], columns='Indicator', values='Value')
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 サイトの他の関連記事を参照してください。