Convert Column Types タブ

Convert Column Types タブでは、列のデータ型を変換できます。文字列を数値に変換したり、日付形式を変更したりする場合に使用します。

基本的な使い方

型変換タブを開く

  1. Data Table タブを開く
  2. 列ヘッダーを右クリック
  3. Convert Column Types... を選択

変換を設定する

  1. To 列のドロップダウンで変換先のデータ型を選択
  2. On Error でエラー時の処理を選択
  3. Preview ボタンで変換結果を確認
  4. Apply ボタンで変換を実行

型変換の設定画面

この例では bill_length_mm 列を string から float64 に変換しています。右側のプレビューテーブルで変換後の結果を確認できます。

変換する列を選択

型を自動判定する

Auto-detect types ボタンをクリックすると、MIDAS が string 列の値を調べ、列ごとに変換先の型を To 列に設定します。提案された型を確認し、必要に応じて修正してから Preview に進んでください。string 以外の列は変更しません。

Auto-detect による型の提案

型を提案するのは、欠損値を除くすべての値をその型として解釈できる列だけです。NA のような文字列は欠損値ではなく値として扱われるため、それを含む列は判定されず string のまま残ります。このような列を変換するには、手動で型を選択し On Error で変換できない値の扱いを指定してください。

判定には誤変換を防ぐ保護があります。郵便番号のように先頭にゼロのある数字列は、数値に変換すると先頭のゼロが失われるため string のままにします。±2^53 を超える整数を含む列も、変換で下位の桁が失われるため数値を提案しません。01 だけの列は boolean ではなく int64 と判定します。日付として解釈できる列は、時刻部分が 00:00:00 以外の値が 1 つでもあれば datetime、すべて 00:00:00 なら date と判定します。2025-01-15 00:00:00 のように時刻が書かれていても、0 時 0 分 0 秒であれば date 側に数えます。

データ型

MIDAS で使用できるデータ型は次の表の通りです。

データ型説明
boolean真偽値true, false
int64整数42, -100
float64小数3.14, -0.5
date日付2024-01-15
datetime日時2024-01-15 10:30:00
string文字列"Hello", "Tokyo"
<Enum 名>プロジェクトで定義したカテゴリ集合(Manage Enums タブで作成)species_enum など

Enum 型は Manage Enums タブで作成すると、To ドロップダウンに species_enum のような名前で表示されます。string 列を Enum 型に変換する手順は Manage Enums タブを参照してください。

文字列から各型へどんな表記を変換できるかは、MIDAS のデータ処理エンジンである DuckDB の CAST 規則に従います。日付や真偽値として解釈できる形式の詳細は DuckDB の CAST のドキュメントを参照してください。ただし MIDAS は値の前後の空白をどの型への変換でも取り除いてから解釈し、整数への変換には値が変わる変換を防ぐ制限を加えています。整数の制限の詳細は エラー処理を参照してください。

エラー処理(On Error)

変換できない値がある場合の処理方法を選択できます:

オプション説明
NULL変換できない値を欠損値(NULL)に置き換える
Exclude row変換できない値を含む行をデータセットから除外する
Fail変換できない値があるとエラーを出して処理を中止する

例:文字列 → 整数の変換

元データに "abc" のような数値に変換できない値がある場合:

  • NULL: "abc"NULL(欠損値)
  • Exclude row: その行全体がデータセットから除外される
  • Fail: 変換処理が中止され、エラーメッセージが表示される

整数(int64)への変換では、"abc" のような数値でない値に加えて、"1.5" のような小数、"007" のような先頭にゼロのある数字列、±2^53 を超える整数も変換できない値として扱います。黙って丸めたり先頭のゼロを落としたりして値を変えることはありません。

プレビュー機能

Preview ボタンをクリックすると、変換結果を事前に確認できます。プレビュー画面には変換後のデータが表示され、Exclude row モードの場合は変換エラーが発生した行がハイライトされます。問題がなければ Apply で変換を実行し、問題があれば Back で設定画面に戻って修正できます。

変換の実行

Apply ボタンをクリックすると、新しいデータセット名を入力するダイアログが表示されます。名前を入力して OK をクリックすると、変換結果が新しいデータセットとして作成されます。

元のデータセットは変更されません。変換結果は常に新しい Derived Dataset として保存されます。

保存済み変換の編集

既存の変換済みデータセットは編集できます。Project Lineage タブでデータセットを右クリックするか、Project Overview のデータセットのメニューボタン(⋮)から Edit Operation... を選択すると、ソースデータセットと変換設定が復元された状態で Convert Column Types が編集モードで開きます。

編集モードでは、他のデータセットやモデル、レポートがこのデータセットに依存している場合、影響を受ける項目の種類と件数が警告として表示されます。ソースデータセットを変更すると変換設定はリセットされるため、新しいソースの列に対して設定し直します。Apply をクリックして確認すると、同じデータセットが新しい設定で再計算されます。データセット名は変わりません。このデータセットに依存する派生データセットは次にデータが必要になったとき再計算され、依存するモデルは自動的に再推定されます。

編集タブを開いてから Apply をクリックするまでの間に、同じデータセットの操作が別の編集タブや Agent API など他の経路から変更されていた場合、MIDAS は保存を拒否します。先に加えられた変更を警告なく失わせないためです。編集タブを閉じて Edit Operation... を開き直すと、最新の状態から編集をやり直せます。

See also