Pandas を使用して長いデータをワイド形式に再形成する
長い形式のデータを扱う場合、データをワイド形式に再形成する必要がある場合があります。より優れた分析と視覚化のためのワイドフォーマット。一般的な課題の 1 つは、複数の変数に基づいてデータを再形成することです。
次のデータフレームを考えてみましょう:
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
メルト/スタック/アンスタックはデータの再形成に一般的に使用されますが、この特定のシナリオには適していない可能性があります。
この問題の解決策は、次のコードを使用して見つけることができます:
<code class="python">import pandas as pd # Create sample data raw_data = { 'salesman': ['Knut', 'Knut', 'Knut', 'Steve'], 'height': [6, 6, 6, 5], 'product': ['bat', 'ball', 'wand', 'pen'], 'price': [5, 1, 3, 2] } df = pd.DataFrame(raw_data) # Reshape data df_wide = df.pivot_table(index=['salesman', 'height'], columns='product', values='price') # Reset index to get it in the desired format df_wide = df_wide.reset_index(level=[0, 1]) # Rename columns new_columns = ['salesman', 'height'] + [f'product_{i}' for i in range(1, df_wide.shape[1] - 1)] + [f'price_{i}' for i in range(1, df_wide.shape[1] - 1)] df_wide.columns = new_columns # Handle missing values df_wide.fillna("NA", inplace=True)</code>
結果のデータフレーム df_wide は、目的のワイド形式になります。
以上がPandas を使用して長いデータを複数の変数を含むワイド形式に再形成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。