ホームページ バックエンド開発 Python チュートリアル ピボット関数を使用して、複数の変数を使用して Pandas データをロング形式からワイド形式に再形成する方法

ピボット関数を使用して、複数の変数を使用して Pandas データをロング形式からワイド形式に再形成する方法

Nov 02, 2024 pm 05:14 PM

How to Reshape Pandas Data from Long to Wide Format with Multiple Variables Using the Pivot Function?

複数の変数を使用した Pandas のロング形式からワイド形式への再整形

Pandas でのデータのロング形式からワイド形式への変換は、特に複数の変数が異なる場合に困難になることがあります。関与した。この質問では、ピボット関数を使用してデータを再形成する方法を検討します。

提供される元のデータは次のとおりです:

  Salesman  Height   product      price
  Knut      6        bat          5
  Knut      6        ball         1
  Knut      6        wand         3
  Steve     5        pen          2
ログイン後にコピー

必要なワイド形式は次のとおりです:

Salesman  Height    product_1  price_1  product_2 price_2 product_3 price_3  
  Knut      6        bat          5       ball      1        wand      3
  Steve     5        pen          2        NA       NA        NA       NA
ログイン後にコピー

One Chris Albon 氏が提案したアプローチでは、次のようにピボット関数を使用します。

df.pivot(index='Salesman', columns='product', values='price')
ログイン後にコピー

このアプローチでは、Salesman 列と product 列をそれぞれ行インデックスとして、列インデックスとしてマルチレベル インデックスを作成します。価格列が値になります。

結果のデータフレームは次のようになります。

product      bat  ball  wand
Salesman                 
Knut          5    1     3
Steve         2   NaN   NaN
ログイン後にコピー

必要な形式を取得するには、列をスタックして製品と価格の値を抽出する追加の手順が必要です。別々の列。これは、次のように stack 関数とreset_index 関数を使用して実現できます。

df.pivot(index='Salesman', columns='product', values='price') \
   .stack().reset_index() \
   .rename(columns={'level_1':'product', 0:'price'})
ログイン後にコピー

最終結果は、目的のワイド フォーマットになります。

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

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTMLを解析するために美しいスープを使用するにはどうすればよいですか? HTMLを解析するために美しいスープを使用するにはどうすればよいですか? Mar 10, 2025 pm 06:54 PM

HTMLを解析するために美しいスープを使用するにはどうすればよいですか?

Pythonでの画像フィルタリング Pythonでの画像フィルタリング Mar 03, 2025 am 09:44 AM

Pythonでの画像フィルタリング

Pythonでファイルをダウンロードする方法 Pythonでファイルをダウンロードする方法 Mar 01, 2025 am 10:03 AM

Pythonでファイルをダウンロードする方法

Pythonを使用してテキストファイルのZIPF配布を見つける方法 Pythonを使用してテキストファイルのZIPF配布を見つける方法 Mar 05, 2025 am 09:58 AM

Pythonを使用してテキストファイルのZIPF配布を見つける方法

Pythonを使用してPDFドキュメントの操作方法 Pythonを使用してPDFドキュメントの操作方法 Mar 02, 2025 am 09:54 AM

Pythonを使用してPDFドキュメントの操作方法

DjangoアプリケーションでRedisを使用してキャッシュする方法 DjangoアプリケーションでRedisを使用してキャッシュする方法 Mar 02, 2025 am 10:10 AM

DjangoアプリケーションでRedisを使用してキャッシュする方法

TensorflowまたはPytorchで深い学習を実行する方法は? TensorflowまたはPytorchで深い学習を実行する方法は? Mar 10, 2025 pm 06:52 PM

TensorflowまたはPytorchで深い学習を実行する方法は?

Natural Language Toolkit(NLTK)の紹介 Natural Language Toolkit(NLTK)の紹介 Mar 01, 2025 am 10:05 AM

Natural Language Toolkit(NLTK)の紹介

See all articles