Google Colaboratoryこそが「答え」だ!――『シゴトで役立つやさしいPython入門』紹介(掌田津耶乃)

(ツクレル編集部より)著者による著書紹介、略して「著著紹介(ちょちょしょうかい)」のコーナーです。今回は『シゴトで役立つやさしいPython入門』の著者である掌田津耶乃さんに、ご自身の著書を紹介していただきます

なぜ、プログラミングはこんなにも難しい?

「プログラミングをやってみたい」「でも、うまくいかない、挫折した」という人は、どこで引っかかるのだろう?

この疑問は、私が今の仕事(テクニカルライター)を始めた当初から心のどこかに引っかかっていたものでした。事あるごとに、「ひょっとしてこういうことじゃないか?」と答えらしきものに思い当たってはそれを解消できるような書籍を書いてみる、ということを繰り返してきました。

そして、現時点での最新の「答え」が、本書です。挫折する最大の要因は、プログラミングを「始める前」にある、というのが一つの仮説です。プログラミングをやってみようと思って挑戦してみた人、一番苦労するのは、実は「始める前」じゃありませんでしたか?

環境の整備。プログラミング言語のダウンロードとインストール。開発ツールの用意。その過程で、「これでもか」といわんばかりに起こるトラブル。「もう、いいや。自分には無理だったんだ」と、「Hello World」まで辿り着く前に投げてしまう人のなんと多いことか。

なんでプログラミング言語(というより、そのソフトウェア)は進化しないんだ? なんで、いつまでたっても、こんなに面倒くさい手続きを踏まなければいけないんだ? Excel使うのに、こんな面倒なことあるか? ただ「Excelを起動する」で終わりだろ?

……そう思うのは間違いなんでしょうか。この敷居の高さこそが、プログラミングを「特別な何か」に祭り上げてきていたように思えてならないのです。もっと簡単に、ただ「〇〇を開いて下さい」だけで始められるプログラミングがあれば。

Google Colaboratoryこそが「答え」だ

そう。あったんですよこれが。それが今回の書籍のベースとなっている「Google Colaboratory」です。これはGoogleが提供するPythonの実行環境。Webで提供されており、ただサイトにアクセスするだけでもうPythonによるプログラミングが始められます。

Google Colaboratory

Colaboratoryは、PythonのJupyterというソフトウェアをベースに作られており、これが「Pythonを実用に使う」ための素晴らしい環境を提供してくれます。ただコードを書いて実行するだけでなく、「セル」と呼ばれる部品を配置し、それぞれで異なるコードをその場で実行できる。なおかつ、実行時に作られた変数などはすべて共有でき、それらを利用したコードをあちらこちらのセルに分散して書き動かすことができる。

Colaboratoryを試してみよう

例えば、データを用意し、いろいろと処理することを考えてみましょう。はい、今すぐ上のリンクからColaboratoryに行って実際にやってみて下さい。まず最初のセルに、こんなものを書いて実行します。

from pandas import DataFrame
shops = ['A店','B店','C店','D店','E店','F店',
  'A店','B店','C店','D店','E店','F店']
vals = [98700,87600,76500,65400,54300,43200,
  123400,67890,34560,9100,8760,7650]
season = ['上期','上期','上期','上期','上期','上期',
  '下期','下期','下期','下期','下期','下期']
data = list(zip(shops,vals,season))
df = DataFrame(data=data,columns=('店名','売上','期間'))

これで、変数dfにpandas(データの解析などを行うパッケージ)のオブジェクトが用意されます。後は、このdfを利用したコードを新しいセルに書いていくだけです。いまコードを書いたセルの下部にある「+コード」ボタンをクリックすれば新しいセルが作られます。そこに、例えば、こんな具合に処理を書いてみましょう。

import altair as alt
alt.Chart(df).mark_bar().encode(
    x='売上',
    y='店名',
    color='期間'
)

これで、用意したデータがグラフ化されます。「うーん、棒グラフじゃなくて折れ線グラフのほうがいいかな」と思ったなら、また新しいセルを作ってこんな具合に実行します。

alt.Chart(df).mark_line(point=True).encode(
    x='店名',
    y='売上',
    color='期間',
).properties(
    width=400,
    height=200
)

こんな形で、必要に応じてコードをどんどんセルとして追加していけば、いくらでもデータをアレンジしていくことができます。

Colaboratoryが素晴らしいのは、コードだけでなく、Markdownによるドキュメントをセルとして用意することもできるという点です。ただコードを書いて動かすだけでなく、ドキュメントとコードをレイアウトして、それ自体でレポートを作成することもできるのです。

実際に使ってみれば、Colaboratoryがただプログラミングをするだけでなく、仕事や学習の道具としてすぐに実践的に利用できるものであることがわかります。今、WebブラウザでColaboratoryにアクセスすれば、今からもうビジネスで使える強力なツールを手に入れられるのです。無料で!

さすがにここまで準備万端用意されていたなら、「プログラミングを始める前に挫折した」ということはありえないでしょう。なおかつ、プログラミングを「特別な何か」に祭り上げることもなく、ExcelやWordなどと同じ「日常的に使う便利な道具」にできるかも知れません。

この本には、これだけ詰まってます!

だったら、「読めば、誰でもそうできる」という本を書くしかない。そんな思いで執筆したのが本書です(……やれやれ、やっと本の紹介までたどり着いた)。この本では、「覚えておけば絶対役に立つ」と思うPythonの「おいしいところ」だけを集めて説明しました。具体的に内容を整理すると、

  • Colaboratoryの基本的な使い方
  • Pythonの基礎文法
  • Markdownを使ったレポートの書き方
  • pandasとAltairによるデータ分析とグラフ化
  • テキストファイル、CSVファイル、Excelファイルなどの扱い方
  • SQLite3を使ったSQLデータベースの利用
  • ネットワークアクセスによるJSON、XML、HTMLデータの処理
  • Open Street Mapを使ったマップの表示、白地図によるデータのマップ化

これだけ、この300ページに満たない小さな判型の本の中に詰まってます。「とりえあず、これだけわかれば日常の業務に今すぐPythonを使えるだろう」と思ったものを集めたつもりです。

プログラミングは、ほとんどの人にとって「特別な何か」ではなくて、「便利な道具」に過ぎないはずです。というより、そうあるべきなんです。プログラミングを高みに祭り上げるのでなく、もっと誰もが当たり前に使えるようにする。私がこれまで書いてきたすべての書籍は、そのためにあります。この本を読んで、「うん、確かにそうだよな」と思える人が少しでも増えてくれたなら、苦労して書いた甲斐もあろうってものです。

(なお、本稿で使ったリストは、本書に掲載されているものの一部です)

(掌田津耶乃)

『ブラウザだけで学べる シゴトで役立つ やさしいPython入門』

著者による著書のご紹介、お待ちしております

(ツクレル編集部より)技術書やテクノロジーをテーマとした書籍の著者さんからのご連絡、お待ちしております。みなさんの著書をぜひツクレルで紹介してください。

]]>

上部へスクロール