全5507文字
PR

拡張機能「Jupyter」

 それでは、保存したma030000.csvのデータをPythonで読み込めるかどうかを確認してみます。実際にPythonのプログラムを実行します。

 ここから先、Pythonのコードの入力と実行には、VSCodeの拡張機能「Jupyter」を使います。これは「Jupyter Notebook」というWebアプリケーションのインタフェースを、VSCode上に構築する拡張機能です。

 Jupyterを使用すると、記述したコードの実行結果を、同じ画面上で確認できます。また、その実行結果をソースコードと一緒にまとめた1つのドキュメント「ノートブック形式」として保存することもできます。Jupyterは、拡張機能「Python」と同時に自動でインストールされています。

 Jupyter Notebookを使えば、これらの機能はブラウザ上で利用できます。しかし、Jupyter NotebookではなくてVSCode上でJupyterを利用することには、メリットがあります。CSVファイルの確認からプログラムの実行までをVSCodeで完結できるので、作業効率が向上するのです。また、普段からVSCodeを使っている人にとっては、シンタックスハイライトやコード補完など、自分好みにカスタマイズされた環境でJupyterを使えるのもメリットです。

 では、VSCodeでJupyterを使ってみましょう。Jupyterを利用するときは、前述のノートブック形式で、新しくファイルを作ります。ファイルの作り方は2つあります。

 1つは、エクスプローラーで開いたフォルダーの中に、拡張子が「.ipynb」のファイルを作る方法です。ここでは、フォルダー名「VSCode_data」にマウスをホバーすると出てくるファイルボタンをクリックします。すると、フォルダー内に新規ファイルが作成されるので、「demographics.ipynb」というファイル名を入力します(図12)。このファイルには、このあとコードを記述します。ここでポイントとなるのは、demographics.ipynbファイルを前述のCSVファイルと同じフォルダーに置くという点です。別のフォルダーに置かないように注意してください。

図12●ノートブック「demographics.ipynb」を作成する
図12●ノートブック「demographics.ipynb」を作成する
[画像のクリックで拡大表示]

 もう1つのファイルの作り方は、コマンドパレットからJupyterのコマンドで呼び出す方法です。「管理」アイコン→「コマンドパレット」か、先に紹介したショートカットキーでコマンドパレットを開きます。「Jupyter: Create New Jupyter Notebook」というコマンドを検索して実行すると、新規のノートブックを作成できます。

変数を可視化する

 では、ノートブックにコードを記述し、Pythonで処理できるデータとしてCSVファイルを読み込めるかどうかを確認します。データ処理には、「pandas」というモジュールを使います。pandasは、データを整形したり、集計してグラフを作成したりできます。pandasでは、行と列の表形式の構造をした「DataFrame」という形式でデータを保持して、処理を行います。ですので、ここではCSVファイルを読み込んで、DataFrameの形式にします。

 リスト1を、先ほど作ったdemographics.ipynbに記述してください(図13)。リスト1は、CSVファイルを読み込み、DataFrame形式にして、データの5行目までを表示するコードです。コーディングは「セル」と呼ばれるブロック内に行います。

リスト1●CSVをDataFrameの形式で読み込むコード
リスト1●CSVをDataFrameの形式で読み込むコード
[画像のクリックで拡大表示]
図13●セルにPythonのコードを記述し、実行する
図13●セルにPythonのコードを記述し、実行する
[画像のクリックで拡大表示]

 1行目でpandasを「pd」という名前でインポートしています。

 CSVファイルの読み込みはpd.read_csv()で行います。「ma030000.csv」を読み込み、「data」というDataFrame形式の変数に代入しています。ma030000.csvは日本語を含むCSVファイルなので、文字化けしないように「"shift-jis"」の文字コードを指定しています。pd.read_csv()のデフォルトでは、先頭1行目が自動的に表の列名として読み込まれてしまうので、列名を設定しないように「header=None」を指定します。

 data.head()は、変数dataの先頭5行分を表示するコードです。