別の列に基づいて列を作成 – インデックス/カラム値でデータフレームを再整形

Python Dataframe: Create columns based on another column – StackOverflow

列の値に基づいてデータを変形 ~ ピボット.

import pandas as pd


df = pd.DataFrame({'A':list(range(4))*3, 'B':range(12),'C':range(12,24)})
print(df, end='\n\n')

res = (
    df.assign(idx=lambda df: df.groupby('A').cumcount())
      .pivot(index='idx', columns='A')
      .rename(columns=lambda x: f'A{x}', level=1)
)
print(res, end='\n\n')
    A   B   C
0   0   0  12
1   1   1  13
2   2   2  14
3   3   3  15
4   0   4  16
5   1   5  17
6   2   6  18
7   3   7  19
8   0   8  20
9   1   9  21
10  2  10  22
11  3  11  23

     B              C            
A   A0 A1  A2  A3  A0  A1  A2  A3
idx                              
0    0  1   2   3  12  13  14  15
1    4  5   6   7  16  17  18  19
2    8  9  10  11  20  21  22  23

カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください