VS Code で Data Wrangler を始める
Data Wrangler は、VS Code および VS Code Jupyter Notebook に統合された、コード中心のデータ表示およびクリーンアップツールです。これは、データを表示および分析するための豊富なユーザーインターフェースを提供し、洞察力に富んだ列の統計と視覚化を表示し、データをクリーンアップおよび変換する際に Pandas コードを自動的に生成します。
以下は、組み込みの操作でデータを分析およびクリーンアップするために、ノートブックから Data Wrangler を開く例です。その後、自動生成されたコードはノートブックにエクスポートされます。
このドキュメントでは、以下の方法について説明します。
- Data Wrangler のインストールとセットアップ
- ノートブックから Data Wrangler を起動する
- データファイルから Data Wrangler を起動する
- Data Wrangler を使用してデータを探索する
- Data Wrangler を使用してデータに対して操作とクリーンアップを実行する
- データラングリングコードを編集してノートブックにエクスポートする
- トラブルシューティングとフィードバックの提供
環境をセットアップする
- まだインストールしていない場合は、Python をインストールしてください。重要: Data Wrangler は Python バージョン 3.8 以降のみをサポートしています。
- Visual Studio Code をインストールします。
- Data Wrangler 拡張機能をインストールする
Data Wrangler を初めて起動すると、接続する Python カーネルを尋ねられます。また、Pandas など、必要な Python パッケージがインストールされているか、お使いのマシンと環境を確認します。
Data Wrangler によって自動的にインストールされるかどうかとともに、Python および Python パッケージの必須バージョンのリストを以下に示します。
名前 | 最小要件バージョン | 自動インストールされる |
---|---|---|
Python | 3.8 | いいえ |
pandas | 0.25.2 | はい |
これらの依存関係が環境に見つからない場合、Data Wrangler は pip
を使用してそれらをインストールしようとします。Data Wrangler が依存関係をインストールできない場合、最も簡単な回避策は、手動で pip install
を実行し、その後 Data Wrangler を再度起動することです。これらの依存関係は、Data Wrangler が Python および Pandas コードを生成できるようにするために必要です。
Data Wrangler を開く
Data Wrangler を使用している間は、常にサンドボックス化された環境にいることになります。つまり、データを安全に探索および変換できます。元のデータセットは、変更を明示的にエクスポートするまで変更されません。
Jupyter Notebook から Data Wrangler を起動する
Jupyter Notebook から Data Wrangler を起動するには、3つの方法があります。
- Jupyter > Variables パネルで、サポートされているデータオブジェクトの横に Data Wrangler を起動するためのボタンが表示されます。
- ノートブックに Pandas データフレームがある場合、データフレームを出力するコードを実行した後、セルの下部に Data Wrangler で 'df' を開くボタン (ここで 'df' はデータフレームの変数名です) が表示されるようになります。これには、1)
df.head()
, 2)df.tail()
, 3)display(df)
, 4)print(df)
, 5)df
が含まれます。 - ノートブックのツールバーで、データを表示を選択すると、ノートブック内のサポートされているすべてのデータオブジェクトのリストが表示されます。その後、そのリストの中から Data Wrangler で開きたい変数を選択できます。
ファイルから直接 Data Wrangler を起動する
Data Wrangler はローカルファイル (.csv
など) から直接起動することもできます。これを行うには、VS Code で開きたいファイルを含むフォルダーを開きます。ファイルエクスプローラービューで、ファイルを右クリックし、Data Wrangler で開くをクリックします。
Data Wrangler は現在、以下のファイルタイプをサポートしています。
.csv
/.tsv
.xls
/.xlsx
.parquet
ファイルの種類に応じて、区切り記号やシートを指定できます。
これらのファイルタイプを、既定で Data Wrangler で開くように設定することもできます。
UIツアー
Data Wrangler には、データを扱う際に2つのモードがあります。各モードの詳細は、以下のセクションで説明します。
- 表示モード: 表示モードでは、データをすばやく表示、フィルター処理、並べ替えができるようにインターフェースが最適化されています。このモードは、データセットの初期探索に最適です。
- 編集モード: 編集モードでは、データセットに変換、クリーンアップ、または変更を適用できるようにインターフェースが最適化されています。インターフェースでこれらの変換を適用すると、Data Wrangler は関連する Pandas コードを自動的に生成し、これは再利用のためにノートブックにエクスポートできます。
注意: 既定では、Data Wrangler は表示モードで開きます。この動作は、設定エディター で変更できます。
表示モードインターフェース
-
データ概要パネルには、データセット全体または選択された特定の列の詳細な概要統計が表示されます。
-
列のヘッダーメニューから、列にデータフィルター/ソートを適用できます。
-
Data Wrangler の表示モードまたは編集モードを切り替えて、組み込みのデータ操作にアクセスします。
-
クイックインサイトヘッダーでは、各列に関する貴重な情報をすばやく確認できます。列のデータ型に応じて、クイックインサイトはデータの分布またはデータポイントの頻度、および欠損値と個別値を表示します。
-
データグリッドは、データセット全体を表示できるスクロール可能なペインを提供します。
編集モードインターフェース
編集モードに切り替えると、Data Wrangler で追加の機能とユーザーインターフェース要素が有効になります。以下のスクリーンショットでは、Data Wrangler を使用して、最後の列の欠損値をその列の中央値に置き換えています。
-
操作パネルでは、Data Wrangler のすべての組み込みデータ操作を検索できます。操作はカテゴリ別に整理されています。
-
クリーンアップステップパネルには、以前に適用されたすべての操作のリストが表示されます。これにより、ユーザーは特定の操作を元に戻したり、最新の操作を編集したりできます。ステップを選択すると、データ差分ビューで変更が強調表示され、その操作に関連する生成されたコードが表示されます。
-
エクスポートメニューを使用すると、コードを Jupyter Notebook にエクスポートしたり、データを新しいファイルにエクスポートしたりできます。
-
操作を選択してデータへの影響をプレビューしている場合、グリッドにはデータに加えた変更のデータ差分ビューがオーバーレイされます。
-
コードプレビューセクションには、操作が選択されたときに Data Wrangler が生成した Python および Pandas コードが表示されます。操作が選択されていない場合は空になります。生成されたコードを編集でき、これによりデータグリッドにデータへの影響が強調表示されます。
Data Wrangler の操作
組み込みの Data Wrangler 操作は、操作パネルから選択できます。
以下の表は、Data Wrangler の初回リリースで現在サポートされている Data Wrangler 操作を一覧表示しています。近い将来、さらに多くの操作を追加する予定です。
操作 | 説明 |
---|---|
並べ替え | 列を昇順または降順で並べ替えます。 |
フィルター | 1つ以上の条件に基づいて行をフィルター処理します。 |
テキスト長の計算 | テキスト列の各文字列値の長さに等しい値を持つ新しい列を作成します。 |
ワンホットエンコード | カテゴリデータをカテゴリごとに新しい列に分割します。 |
マルチラベルバイナライザー | 区切り記号を使用してカテゴリデータをカテゴリごとに新しい列に分割します。 |
式から列を作成 | カスタム Python 式を使用して列を作成します。 |
列の型を変更 | 列のデータ型を変更します。 |
列を削除 | 1つ以上の列を削除します。 |
列を選択 | 保持する1つ以上の列を選択し、残りを削除します。 |
列の名前を変更 | 1つ以上の列の名前を変更します。 |
列を複製 | 1つ以上の列のコピーを作成します。 |
欠損値を削除 | 欠損値を含む行を削除します。 |
重複行を削除 | 1つ以上の列に重複する値を持つすべての行を削除します。 |
欠損値を埋める | 欠損値を含むセルを新しい値に置き換えます。 |
検索と置換 | 一致するパターンを持つセルを置き換えます。 |
列でグループ化して集計 | 列でグループ化し、結果を集計します。 |
空白を削除 | テキストの先頭と末尾から空白を削除します。 |
テキストを分割 | ユーザー定義の区切り記号に基づいて、列を複数の列に分割します。 |
最初の文字を大文字にする | 最初の文字を大文字に、残りを小文字に変換します。 |
テキストを小文字に変換 | テキストを小文字に変換 |
テキストを大文字に変換 | テキストをすべて大文字に変換 |
例による文字列変換 | 提供された例からパターンが検出されたときに、文字列変換を自動的に実行します。 |
例による日時形式設定 | 提供された例からパターンが検出されたときに、日時形式設定を自動的に実行します。 |
例による新しい列 | 提供された例からパターンが検出されたときに、列を自動的に作成します。 |
最小/最大値のスケール | 数値列を最小値と最大値の間でスケールします。 |
丸め | 数値を指定された小数点以下の桁数に丸めます。 |
切り捨て (floor) | 数値を最も近い整数に切り捨てます。 |
切り上げ (ceiling) | 数値を最も近い整数に切り上げます。 |
カスタム操作 | 例と既存の列の派生に基づいて、新しい列を自動的に作成します。 |
Data Wrangler でサポートしてほしい操作が不足している場合は、Data Wrangler GitHub リポジトリで機能リクエストを提出してください。
以前のステップを変更する
生成されたコードの各ステップは、クリーンアップステップパネルから変更できます。まず、変更したいステップを選択します。その後、操作に変更を加えると (コードまたは操作パネルを介して)、変更がデータに与える影響がグリッドビューで強調表示されます。
コードの編集とエクスポート
Data Wrangler でのデータクリーンアップステップが完了したら、Data Wrangler からクリーンアップされたデータセットをエクスポートする方法は3つあります。
- コードをノートブックにエクスポートして終了: これにより、生成されたすべてのデータクリーンアップコードが Python 関数にパッケージ化され、Jupyter Notebook に新しいセルが作成されます。
- データをファイルにエクスポート: これにより、クリーンアップされたデータセットが新しい CSV または Parquet ファイルとしてお使いのマシンに保存されます。
- コードをクリップボードにコピー: これにより、データクリーンアップ操作のために Data Wrangler によって生成されたすべてのコードがコピーされます。
列を検索する
データセット内の特定の列を検索するには、Data Wrangler ツールバーから列へ移動を選択し、該当する列を検索します。
トラブルシューティング
一般的なカーネル接続の問題
一般的な接続の問題については、上記「Python カーネルへの接続」セクションにある代替の接続方法を参照してください。ローカルの Python インタープリターオプションに関連する問題をデバッグするには、Jupyter および Python 拡張機能の異なるバージョンをインストールすることが、問題を解決する1つの方法として考えられます。たとえば、拡張機能の安定版がインストールされている場合、プレリリース版をインストールする (またはその逆) こともできます。
既にキャッシュされているカーネルをクリアするには、コマンドパレット ⇧⌘P (Windows, Linux Ctrl+Shift+P) から Data Wrangler: Clear cached runtime
コマンドを実行します。
データファイルを開くと UnicodeDecodeError
が発生する
Data Wrangler からデータファイルを直接開く際に UnicodeDecodeError
が発生する場合、これは2つの原因が考えられます。
- 開こうとしているファイルが
UTF-8
以外のエンコーディングである - ファイルが破損している。
このエラーを回避するには、Data Wrangler をデータファイルから直接開くのではなく、Jupyter Notebook から開く必要があります。Jupyter Notebook を使用して、Pandas を使用してファイルを読み込みます。例えば、read_csv メソッドを使用します。read
メソッド内で、encoding
および/または encoding_errors
パラメーターを使用して、使用するエンコーディングまたはエンコーディングエラーの処理方法を定義します。このファイルにどのエンコーディングが機能するかわからない場合は、chardet のようなライブラリを試して、機能するエンコーディングを推測することができます。
質問とフィードバック
問題がある場合、機能リクエストがある場合、またはその他のフィードバックがある場合は、GitHub リポジトリに Issue を提出してください: https://github.com/microsoft/vscode-data-wrangler/issues/new/choose
データとテレメトリ
Visual Studio Code 用 Microsoft Data Wrangler 拡張機能は、製品とサービスの改善に役立てるため、使用状況データを収集し、Microsoft に送信します。詳細については、プライバシーに関する声明をお読みください。この拡張機能は、telemetry.telemetryLevel
設定を尊重します。詳細については、https://vscode.dokyumento.jp/docs/configure/telemetry を参照してください。