見出し画像

テーブル型データのピボット操作まわりの用語整理

ピボットとか stackとか meltとか GROUP BYとか indexとか columnsとか列とかいろいろややこしいので自分なりに整理してみる。

ピボットの俺的解釈はこんな感じ。
「一意化、旋回、行列化」の用語も俺的解釈なので他所での使用は自己責任で^^

ID,氏名,教科,点数 1,佐藤一郎,国語,  60 1,佐藤一郎,数学,  50 1,佐藤一郎,英語,  40 2,山田花子,国語,  70 2,山田花子,数学,  60 2,山田花子,英語,  50 3,鈴木太郎,国語,  80 3,鈴木太郎,数学,  70 3,鈴木太郎,英語,  60  │    │   ╲ 一意化   │    ╲  │ (一意化+)旋回   ╲  │    │     行列化  ↓    ↓       ↓ ID,氏名,国語,数学,英語 1,佐藤一郎,  60,  50,  40 2,山田花子,  70,  60,  50 3,鈴木太郎,  80,  70,  60

各種ツールでの引数対応表
タテ持ちからヨコ持ちへ
(しれっと自作GAWKスクリプトも混ぜてみるw)

ツール,機能名,一意化列,旋回列,値列 エクセルパワークエリ,ピボット,(自動),列,値 GoogleスプレッドシートQUERY(),(PIVOT),GROUP BY,PIVOT,SELECT Pandas DataFrame (reset_index),pivot,index=,columns=,values= Pandas DataFrame (set_index),unstack,(自動),unstack(インデックス内の列),(自動) 自作GAWKスクリプト,pivot,Group=,Pivot=,Value=

アンピボットの俺的解釈はこんな感じ。
「反復、逆旋回、リニア化」の用語もこれまた俺的解釈なので以下略^^

ID,氏名,教科,点数 1,佐藤一郎,国語,  60 1,佐藤一郎,数学,  50 1,佐藤一郎,英語,  40 2,山田花子,国語,  70 2,山田花子,数学,  60 2,山田花子,英語,  50 3,鈴木太郎,国語,  80 3,鈴木太郎,数学,  70 3,鈴木太郎,英語,  60  ↑    ↑   ╲ 反復    │    ╲  │ 逆旋回(+反復)   ╲  │    │    リニア化  │    │       ↑ ID,氏名,国語,数学,英語 1,佐藤一郎,  60,  50,  40 2,山田花子,  70,  60,  50 3,鈴木太郎,  80,  70,  60

各種ツールでの引数対応表
ヨコ持ちからタテ持ちへ

ツール,機能名,反復列,逆旋回列,新列名,値名 エクセルパワークエリ,ピボット解除,(自動),列,属性,値 GoogleスプレッドシートQUERY(),-,-,-,-,- Pandas DataFrame (reset_index),melt,id_vars=,(自動),var_name=,value_name= Pandas DataFrame (set_index),stack,(自動),(自動),stack(列ラベルのレベル),(自動) 自作AWKスクリプト,unpivot,(自動),start_unpivot=,new_col_name=,new_val_name=

もちろん各機能や変数が一対一に対応しているわけではありません。あくまで参考までに。

(おしまい)


Google Colaboratory↓



いいなと思ったら応援しよう!