Transpose DAT 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

※当サイトにはプロモーションリンクが含まれます。

Transpose DAT のテーブル行・列転置機能を示す図

記事更新の通知はXでアナウンス٩(๑❛ᴗ❛๑)
@maru6o6をフォロー

概要 📖 – 行と列を入れ替える

Transpose DATは、入力テーブルの行と列を丸ごと入れ替え、縦横の軸を転置して出力する DATです。元のテーブルの 1 行目が出力の 1 列目に、1 列目が 1 行目に移ります。縦持ち・横持ちの切り替えや、後段オペレータが前提とする行列方向への変換に使います。

主な用途 🎯

  • Table DAT行と列を丸ごと入れ替え、縦持ち・横持ちのデータ形式を切り替える
  • CHOP to DAT で縦に並んだチャンネル値を横並びの 1 行に転置し、後段の参照を簡単にする
  • File In DAT で読み込んだ CSV の軸を転置し、外部フォーマットの行列方向に合わせて整える
  • ヘッダが先頭列に入ったテーブルを転置し、列見出しを先頭行へ移して扱いやすくする
  • Sort DATSelect DAT が前提とする行方向の並びへ、列方向のデータを転置して渡す

データフロー 🔄

入力: テーブル DAT

Transpose で行と列を入れ替え (元の 1 行目が 1 列目に、1 列目が 1 行目になる)

出力: 行と列が転置されたテーブル DAT

Tips

初心者の方は、以下日本語書籍も手元にあると安心です。

まる。
まる。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!


パラメータ解説 ⚙️

Common Page 🔧

Language .language 📝

Language (動作言語) — DAT が動作するスクリプト言語の決定方法

項目 内部名 説明
Input .input 入力 DAT のスクリプト言語を使用
Node .node この DAT 自身のスクリプト言語を使用

拡張子の選択 .extension 📄

Edit/View Extension (編集・表示拡張子) — 外部エディタに公開するファイル拡張子の選択

項目 内部名 説明
dat .dat 汎用的なファイル拡張子 dat を使用
From Language .language DAT のスクリプト言語に応じた拡張子を自動選択
Custom Extension .custom Custom Extension で指定したカスタム拡張子を使用

カスタム拡張子 .customext 🔤

Edit/View ExtensionCustom Extension のときに適用される拡張子:

  • Custom Extension 文字列: Edit/View Extensioncustom のときに使用される任意のファイル拡張子

Word Wrap .wordwrap 🔁

Word Wrap (折り返し) — ノード表示でのワードラップの有効化

項目 内部名 説明
Input .input 入力 DAT の Word Wrap 設定を継承
On .on Word Wrap を有効化 (ノード上の長い行を折り返し表示)
Off .off Word Wrap を無効化 (折り返さずそのまま表示)

実践アイデア 💡

Example 1: 縦持ちCHOP値を横並びに 🔀

CHOP to DAT → Transpose DAT → Table DAT

CHOP to DAT で取り込んだチャンネル値が縦 1 列に並んでいるとき、Transpose DAT で行と列を入れ替えて横並びの 1 行に変換する基本フロー。後段でセルを横方向に参照したいときに、軸を転置するだけで扱いやすくなる。

  1. CHOP to DAT でチャンネル値をテーブル化 (縦方向に値が並ぶ)
  2. Transpose DAT を後段に配置し、入力を接続するだけで行と列が入れ替わる
  3. 縦 1 列だった値が横 1 行に転置されることを確認
  4. 後段の Table DAT でセル参照可能な状態にする

Example 2: CSVの軸を入れ替える 🔄

File In DAT → Transpose DAT → File Out DAT

読み込んだ CSV テーブルの行と列の向きが出力先フォーマットと食い違っているとき、Transpose DAT で軸を転置してから書き出す用途。1 行目に並んでいた見出しを 1 列目へ移したい、といった縦横の切り替えをオペレータ 1 個で完結できる。

  1. File In DAT で CSV を読み込み、テーブルを取得
  2. Transpose DAT を後段に配置し、行と列を転置
  3. 元の 1 行目が 1 列目に移っていることを確認
  4. File Out DAT で転置後のテーブルを書き出す

Example 3: 転置してから値でソート 📊

Table DAT → Transpose DAT → Sort DAT

列ごとに並んだデータを行ベースで並べ替えたいとき、Transpose DAT で先に軸を入れ替え、行方向の並びにしてから Sort DAT に渡す用途。Sort DAT は行を基準に並べ替えるため、列方向のデータは一度転置しておくと狙ったソートが行える。

  1. Table DAT で列方向に並んだ元テーブルを保持
  2. Transpose DAT で行と列を入れ替え、対象データを行方向に揃える
  3. 後段の Sort DAT で行を基準に昇順・降順ソート

関連オペレータ 🔗

類似機能OP 🔍

  • Reorder DAT — 行・列を指定順に並べ替える DAT。Transpose が軸そのものを転置するのに対し、Reorder は並び順を変える
  • Sort DAT — セル値を基準に行を並べ替える DAT。転置と組み合わせて列方向データの並べ替えに使う

組み合わせ推奨OP 🔄

  • Table DAT — 転置元の代表的なソース、転置後の格納先
  • CHOP to DAT — 縦に並んだチャンネル値をテーブル化し、Transpose で横並びに変換
  • File In DAT — ディスク上の CSV / TSV を読込み、Transpose で軸を整える
  • File Out DAT — 転置後のテーブルをディスクに書き出す
  • Sort DAT — 転置で行方向に揃えた後、値を基準に並べ替える
  • Select DAT — 転置後に必要な行・列範囲を抽出
  • Convert DAT — 転置で軸を整えた後に CSV / TSV テキストへシリアライズ

前処理・後処理DAT 🎯


Info CHOP情報 📊

Transpose DAT は Info CHOP による詳細情報取得に対応しています。num_rows / num_cols で転置後テーブルのサイズを、total_cooks / cook_time / cpu_time で実行統計を参照でき、行列が正しく入れ替わったかのサイズ確認や、入力テーブル変化時の再評価タイミング判定に利用できます。

DAT 固有情報 📋

  • num_rows: DAT の行数
  • num_cols: DAT の列数
  • type: DAT の型 (table / text)
  • is_table: テーブル形式の場合 1、テキスト形式の場合 0

汎用オペレータ情報 🔄

  • total_cooks: プロセス開始からのクック回数
  • cook_time: 最後のクック時間 (ミリ秒)
  • cook_frame: 最後にクックされたフレーム番号
  • warnings: 警告数
  • errors: エラー数

トラブルシューティング ⚠️

よくある問題と解決策 🔧

❌ Problem: 転置後にヘッダ行が想定と違う位置に来る
✅ Solution:

  • Transpose はすべてのセルを機械的に入れ替えるため、元の 1 行目は 1 列目に移ることを確認する
  • ヘッダの扱いを整えたい場合は、転置の前後に Reorder DAT を入れて行・列順を調整する
  • 見出しだけを別扱いしたい場合は Select DAT で範囲を切り出してから転置する

❌ Problem: 転置しても出力が変化しない
✅ Solution:

  • 入力 DAT が正しく接続されているか確認する (入力が空だと転置結果も空になる)
  • 入力が 1 行 1 列など正方形に近い場合、転置しても見た目が変わりにくいのでnum_rows / num_cols をInfo CHOPで確認する
  • 上流のテーブルが実際にクックされているか、Table DAT 等のソース側を確認する

❌ Problem: 行数と列数が大きく食い違いパフォーマンスが重い
✅ Solution:

  • 転置前に Select DAT で必要な行・列範囲だけに絞り込む
  • 毎フレーム転置する必要がなければ、入力が変化したときのみクックされる構成にする
  • 巨大なテーブルは Convert DAT での文字列化など、後段処理の負荷もあわせて見直す

参考資料 📚

その他 🔗

公式リソース 📖

この記事はLLMと共に内容を執筆、更新しています。
最新バージョンとの項目差異など、情報の不一致を見つけた心優しい方はXもしくはInsta、メールなどよりサイト管理者までご連絡ください😎


まる。

お仕事のご依頼はDM又はメールにて。
━━━━━━━━━━━━━━━━━
Python/Touchdesigner/M5Stackをこよなく愛すフルスタックエンジニア。
専門は生理心理学、趣味はヨガやサウナ、EMS電気風呂などヘルスケア全般。
脳波や筋電、心拍を中心とした生体情報のセンシング&インタラクティブアートづくりがライフワーク。

普段はワントゥーテンという会社で空間演出エンジニアをしています。
リファラル採用お繋ぎできますので、我こそはという尖った方は経歴と希望職種添えてDMください(エンジニア以外、営業職等もOK)。
ご飯行きましょう。

↓日常垢
Instagram:@malmal0v0

まる。をフォローする
その他の記事はこちら
Math Combine POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED Select TOP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Window COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Widget COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

タイトルとURLをコピーしました