
食品安全分野で働く人であっても、デジタルリテラシー向上が必要な理由については、以下の記事をご覧ください。

Pythonの基本操作(データの型)については、以下の記事を読んでください。


今回からPython実践編です。
今まで学んだことを使って、データ分析を行います!
ここからは、実際のデータを使ってデータ分析を行います。
最終的な目標として、下のようなグラフを作ります。アメリカの各州の10万人あたりの食中毒患者数(10年間の平均値)を示しています。
この記事では、データ分析の事前準備として、①データを用意する、②データをGoogleドライブにアップロードする、③データとノートブックを連携する、まで行います。
食中毒のデータを準備する
まずは事前準備として、データ分析に使用するデータをダウンロードします。
今回は、アメリカの食中毒のデータを使用することにします。CDCのNORS Dashboardからアメリカの食中毒統計データをダウンロードしましょう。
ウェブサイトを開くと下の画面になります。


最初の四角く囲まれた「What types of outbreaks would you like to include?」(どの種類のアウトブレイクを含めますか?)では、「Foodborne」(食品由来)以外のすべてのチェックを外します。
次に左側にある「Year」の「Custom range」が「2009 to 2021」になっているので、これを「2012 to 2021」とします。これで、直近10年間(2012~2021)分の食中毒のデータが選択できました。
ウェブサイトの下の方に行き「Download Data*」から「Download current search data (Excel).」を選択します。


注意書きがポップアップしますので、気にせず「Download」を選びます。


すると「NationalOutbreakPublicDataTool.xlsx」という名前のエクセルファイルがパソコンにダウンロードされます。(データがダウンロードされる場所は自分のパソコンの設定によって異なります。)
以上で必要なデータのダウンロードが完了しました。
ダウンロードしたデータをGoogleドライブにアップロードする
次にダウンロードした「NationalOutbreakPublicDataTool.xlsx」を自分のGoogleドライブにアップロードしましょう。
やり方は2つあります。
- ファイルをマイドライブにドラッグ&ドロップする。または
- マイドライブの空いているところ(下の画像では「test1.ipynb」の下辺り)で右クリックし、「ファイルをアップロード」でアップロードするファイルを選択する。


マイドライブへのアップロードが完了するとこのような状態になります。


「NationalOutbreakPublicDataTool.xlsx」がマイドライブにありますね。以上でGoogleドライブへのアップロードが完了しました。
ノートブックとマイドライブを紐づける
それでは新しいColaboratoryのノートブックを作成します。
Googleドライブの「+新規」を選び、「その他」の中にある「Google Colaboratory」をクリックすると新しいノートブックが作られます。
もし新しいノートブックの作り方が分からなければ、こちらの記事を読んでください。


新しいノートブックが作られました。タイトルは「us_fbd_analysis.ipynb」としました。タイトルはあとで見たときに内容が分かる名前であれば、自由につけて大丈夫です。


それではノートブックをGoogle ドライブにマウント(連携)します。
「マウント???」と思われるかもしれません。マウントは「連携」と同じような意味で理解すれば大丈夫です。作成したノートブックとGoogleドライブを紐づけて、ドライブ内にあるデータをノートブックで使えるようにします。
以下のコードをノートブックの1つのセルに入力後、キーボードで「Shift」と「Enter」を押す、または「▶︎」をクリックすると、Pythonが実行されます。
# Googleドライブのファイルにマウントする
from google.colab import drive
drive.mount('/content/drive')
すると「このノートブックにGoogleドライブのファイルへのアクセスを許可しますか?」と聞かれるので、「Googleドライブに接続」を選びます。


アカウントの選択の画面が出てくるので、自分のアカウントを選びます。


「Google Drive for desktopがGoogleアカウントへのアクセスをリクエストしています」と表示されるので、「許可」をクリックします。


コードが完了し、結果に「Mounted at /content/drive」と表示されます。これでマウントが完了しました。「contentフォルダの中にあるdriveフォルダとノートブックが連携した」ということです。


念のためノートブックとdriveが連携したことを確認してみましょう。左側にあるフォルダのアイコン(📁)をクリックし、次に「drive」をクリック、そして「MyDrive」をクリックすると、左のような画面になります。確かに「NationalOutbreakPublicDataTool.xlsx」がマイドライブの中にあることが分かりますね。


ここまでくれば、事前準備はあと少しです。
次のセルに下のコードを入力してください。
# PATHにエクセルデータが格納されているフォルダの場所を代入する
PATH = '/content/drive/MyDrive/'
このコードは何をしているのか分かりますか。先ほどマウントし、ノートブックとdriveが連携しました。その際に「Mounted at /content/drive」と表示されましたね。そのため、現在ノートブックは「drive」というフォルダと連携しています。
そして今回使用するエクセルデータはどこにあるかというと
/content/drive/MyDrive/NationalOutbreakPublicDataTool.xlsx
です。つまり、使用するデータは「drive」よりさらに下の「MyDrive」フォルダの中にあるということです。
そこで、ノートブックのデータの参照先を「MyDrive」に設定するために、PATHという変数に参照するフォルダの場所を代入しました。
最後に下のコードを入力し、実行してください。
# PATHを現在のディレクトリに設定する
cd {PATH}
このコードにより、ノートブックのデータの参照先が、先ほどPATHに変更されました。
ちなみにPATHに代入するコードの内容を変えると、ノートブックの参照先も変えることができます。もし、マイドライブの中にさらにフォルダを作り、そこに使用するデータを入れている場合は必要に応じて変更してください。
# (例)使用するデータが、マイドライブに新たに作った「data_analysis」フォルダにある場合
PATH = '/content/drive/MyDrive/data_analysis/'
以上がデータ分析を行う事前準備です。



コードの量自体は多くはないですが、よくわからないコードを入力していて、不安に感じたのではないでしょうか。
今回のコードの内容はColaboratoryとGoogleドライブを紐づけているだけなので、それほど重要ではなく、分からなくても正直問題ありません。「今こういうことをやっているんだなー」くらいの理解で大丈夫です。
そして、次回からがデータ分析の本番になります。
また、今回使用したCDCのNORS Dashboradは、とても便利なウェブサイトです。食中毒に限らず、様々なデータをインタラクティブに扱うことができます。
データ分析用に10年間分の食中毒のデータをダウンロードしましたが、あっという間にできましたね。これと同じことを厚生労働省のウェブサイトで行おうとすると、10倍くらい時間がかかります。
データの2次利用までを考慮した「データの公開方法」については、アメリカの方がかなり進んでいるなと感じます。
コメント