アラサーOLのためのpython入門講座、開設![第1回]

pythonのコードを背景にプログラミングでてきることを列挙 アラサーOLのためのpython入門講座
パソコン操作でできることはほぼ全てプログラミングで自動化できます。

Ciao!みなさんこんにちは!このブログでは主に
(1)pythonデータ解析,
(2)DTM音楽作成,
(3)お料理,
(4)博士転職
の4つのトピックについて発信しています。

この度、pythonデータ解析の派生として、プログラミング初心者がpythonを学習するのに役立つ豆知識をご紹介するシリーズ「アラサーOLのためのpython入門講座」を開設します!
この講座では、実在するアラサーOLのMi坊さんに、pythonを学習していく上でのアドバイスを行います!
このMi坊さん、齢30を目前にして「なにか学びたい」という学習意欲に目覚め、pythonを学んでみようと考えているそうです。
ただ、ご本人はプログラミングの経験は皆無です。

この講座では、プログラミング未経験の初心者の方がパソコン1台でpythonの学習を始め、基本的なプログラミングやデータ解析、Webサイトのスクレイピング(自動閲覧・データ取得)などができるよう、step-by-stepでやり方を解説します!
Mi坊さんの学習進度に合わせ、学習内容も変化しますし、不定期更新となりますので、この点はご了承ください。

パソコンもプログラミングも初心者だけど、プログラミングができるようになりたい!
本講座では、そのようなみなさまがpythonを習得できるような豆知識をお伝えします!
初回の今回は、プログラミング、主にpythonでどのようなことができるのか、どのように役立てることができるのかをご紹介します!

Abstract | プログラミングは時間を生み出す現代の必須ツール

pythonなどのプログラミングでは、データ分析に加えて、パソコン操作の自動化、Webスクレイピング、Webアプリ開発、Webサイト運営の自動化など、パソコンで行うあらゆる作業の自動化を行うことができます。
データ分析では、エクセルなどの表計算ソフトで扱うのが困難な膨大なデータや複雑な処理を、プログラミングを使って簡単に行うことができます。
ファイルの一括削除や名称変更などのパソコン操作もプログラミングで自動化できます。
Webサイトから欲しい情報を一括で取得するスクレイピングという作業もプログラミングで実現できます。
YouTubeやInstagramなどのWebアプリはpythonで開発されていますし、Instagramアカウントをpythonで自動で運用することも可能です。

これまで手作業で行っていたことをpythonなどのプログラミングを使ってパソコンにやらせることで、自分の時間を生み出すことができます。
使いこなすまでに学習の時間がかかりますが、一度習得してしまえば、莫大な時間を回収することができます!
本シリーズではプログラミング初心者の方にもpythonを習得していただけるようにstep-by-stepで解説していきます!
アラサーOLのMi坊さんと一緒にぜひ学んでみてください!



Background | pythonは習得が容易なプログラミング言語

pythonとは、「プログラミング言語」という、コンピューター上で動作するプログラムを設計するための言語の一種です。
プログラミング言語には、pythonの他にも、R、C言語、C++、Fortran、bash、awk、perl、Java Script、Swift…などなど、挙げればきりがないほどたくさんの言語があります。
プログラミングを行うと、複雑な処理を自動化することができます。
複雑な科学計算やシミュレーション、Webページの動作、ゲーム、スマホアプリなど、パソコンやスマホなどのIT機器のありとあらゆる動作がプログラミングによって行われています。

pythonは他のプログラミング言語に比べて習得するのが簡単です。
具体的には、

  • 文法がシンプルで習得しやすい
  • 複雑なパソコンの知識がなくても書ける
  • デバッグ(エラーの発見と対処)が簡単
  • ユーザーが多く、ノウハウを検索しやすい
  • 様々なライブラリを使って、小難しいことが簡単に実行できる

といった特徴があります。
python以外のプログラミング言語をすでに習得している方であれば、サンプルのコードがあれば見様見真似で書けますし、ちょっとググれば応用してオリジナルのプログラムを作ることもすぐにできます。
私自身も、最初にC言語を学んで数年使っており、その後pythonを始めました。
C言語では、メモリ(コンピュータ上の作業領域)の管理を意識しながらコードを書かなければいけないなど、パソコンの知識も多少必要になります。
しかし、pythonではそのようなことを考えなくて良いので「めちゃくちゃ簡単!!」と感じた記憶があります。



Contents | pythonでできること

pythonでは主に以下のようなことができます。

  • データ分析(統計学的分析、機械学習、深層学習etc…)
  • パソコン上での作業の自動化
  • Webスクレイピング
  • Webアプリケーションの開発

一言で言えば、パソコンでできる作業は何でも自動化できると言えます。

pythonを使ったデータ分析

pythonを使うと、様々なデータ分析を行うことができます。
このブログの過去の記事でも、pythonを使って

といったデータ分析をご紹介してきました。

サイズの大きなデータを扱ったり、複雑な計算や処理を行うのにプログラミングは必須です。
原理的にはエクセルなどの表計算ソフトでも似たようなことはできることはできますが、現実的な時間と労力では不可能である場合が多いです。サイズの大きなデータを扱うときにはファイルが開けないとか、複雑な計算をさせると固まって動かなくなるといった不具合が起きたり、そもそも複雑な処理ができるようにセルを組む手間が膨大になるといった問題が発生します。
例えるならば、

  • 東京から大阪まで新幹線や飛行機で行くのがプログラミング、歩いて行くのがエクセル

です。また、エクセルでもマクロを使った自動化などを行うことができますが、徒歩からジョギングになる程度です。
これまでエクセルでなんとかしていた方は、この機会にぜひプログラミングを習得しましょう!
ちなみにpythonでエクセルを自動生成することもできます。

データ分析とデータサイエンスの意義

データ分析を行う意義は、既存のデータから新しい価値を生み出すことです。
私の本業はデータサイエンティストですが、データサイエンティストとは「プログラミングと統計学によってデータから価値を創造する職業」です。
データを分析して規則性や法則性などの新たな情報を見出し、将来の予測や意思決定につなげるということを行います。
プログラミングが産業界で非常に重宝されるスキルとなり、データサイエンティストは21世紀においてもっともセクシーな職業と言われています(Harvard Business Review)。
いわゆるビッグデータを扱う上でプログラミングは必須スキルです。
「学んでおいて損はない」ではなく「学ばなければ何も始まらない」というぐらい重要です。

データサイエンスの一部始終は過去の記事でご紹介しています。
研究者の生涯年収分布の推定では、既存のデータから生涯年収の分布という新たな情報を得ました。
既存のデータは、

  • 各年代での研究者の職位の分布
  • 職位ごとの平均年収

などの断片的なものですが、これらを組み合わせることで、

  • 生涯年収の推定値

という新たな情報を得られたのです。
さらに、この情報を元に、ポスドクを続けるべきか、民間企業に転職すべきかという意思決定を行うことができます。研究者の生涯年収分布の推定の記事では、

  • プログラミングと統計学を活用し、データから新たな情報を生み出して意思決定する

というデータサイエンスの一連の動作をご紹介したことになります。

今どきは、わざわざ自分でデータを分析しなくても、グーグル先生に聞けば大抵のことは教えてくれます。
しかし既存のデータ単体ではわからないこともたくさんあります。
プログラミングを使って、既存のデータを単体でさらに深く分析したり、別のデータと組み合わせて分析したりすることで、新たな情報を得ることができます。
プログラミングはそのための強力なツールとなります。

データ分析が役立つ場面(業務・私生活)

民間コンサルティングファームのデータサイエンティストとしての業務でデータ分析が役立つのは以下のような業務です。

  • 実証実験(仮説検証)の設計、効果検証
  • 金融機関の与信審査、引当金の計算

以前の記事でも書きましたが、民間企業の意思決定でデータ分析が活用される場面は増えつつあります。
例えば、ある商品の売上を拡大させるために新たにweb広告を打ち出す場合、どれだけの経費をかければどれだけの売上拡大が得られるのかを検証するのにデータ分析が必要です。
たいていは、PoC(Proof of Concept)と呼ばれる小規模な実証実験を行い、広告の効果を見極めて本格的にその広告に投資するのかを決定します。
AとBの2種類の広告の候補があるならば、実証実験を行ってどちらのほうが売上拡大の効果が見込めるのかを定量的に分析することができます。

業務だけでなく、私生活でもデータ分析を役立てることができます。
前述の研究者の生涯年収分布の推定定期預金・普通預金の実質金利の計算は、将来のキャリアの意思決定、預金に置く資産の割合の意思決定に役立てることができます。
私の場合は他に、住宅の購入を検討した際に

  • 住宅取引価格から住宅価格の推移と相場を分析
  • 住宅ローン残高の将来推移を計算し、破産リスクを分析

といったことにデータ分析を活用しました。
こう見るとやはり金融関係のデータ分析が多いですね。

pythonを使ったパソコン作業自動化

pythonを使うと、パソコン作業を自動化することができます。
例えば、

  • ファイルの検索
  • ファイルの移動
  • ファイルの削除
  • ファイルの作成

などを行うことができます。
これを手動で行うこともできますが、例えば

  • 「hogehoge」からはじまるファイルをすべて検索したい
    「hogehoge」からはじまるファイルをすべて「hogehoge」というフォルダに移動したい
    「hogehoge」からはじまるファイルをすべて削除したい
  • 「hogehoge1」から「hogehoge100」までのファイルを100個作りたい

といった場合に手作業でやっていたらきりがありません。

パソコン作業の自動化はpythonではなく、別のプログラミング言語でも行うことができます。
MacやLinuxなどのUnix系OSであれば「端末」や「ターミナル」と呼ばれるCUI(command-line user interface)を使い、bashなどのシェルスクリプトで行うことのほうが多いでしょう。
端末を使ったパソコン操作は非常に便利です。
ファイルの削除や名称変更などの一括操作を一瞬で行うことができます。
このシリーズでも簡単なものは扱っていきますのでご期待ください。

pythonを使ったWebスクレイピング

pythonを使うと、Webスクレイピングを行うことができます。
Webスクレイピングとは、webサイトから自動でデータを取得することです。
Webサイトを自動で閲覧する「クローリング」とそこから自動でデータを取得する「スクレイピング」がセットで実施されますが、ここでは単純にスクレイピングと呼ぶことにします。

Webスクレイピングを使うと、様々なサイトから一括で情報を取得することができます。
例えば、マンションの販売価格がまとめられたマンションレビューというサイトから気になる地域の過去のマンションの販売価格を一括で取得し、相場を調べるといったことができます。
駅徒歩距離や階数などと一緒にデータを取得すれば様々な分析を行うことができます。

pythonを使ったWebアプリ開発

私自身は行った経験がないのですが、pythonでWebアプリの開発もできます。
例えば、YouTubeやInstagramはpythonで開発されているそうです。
Instagramのユーザー側でも、pythonで運用を自動化することができます。
まさにパソコン操作で行えることは全て自動化できると言っても過言ではないでしょう。



Conclusion | まとめ

最後までご覧いただきありがとうございます!
pythonやプログラミングの重要性やできることをご紹介しました!

プログラミングはデータ分析の必須ツールであるだけでなく、WebスクレイピングやWebアプリ開発、Webサイトの自動運用など、パソコンを使った様々な作業を自動化するツールです。
プログラミングを習得すれば、面倒なことをパソコンにやらせることができます。
そうすれば、今まで面倒な作業に使っていた時間を好きなことに使うことができます。
言うなれば、時間を生み出す最高のツールです!
「プログラミングなんてやったことない」という方もぜひ、アラサーOLのMi坊さんと一緒に学んでみてください!

以上、「アラサーOLのためのpython入門講座、開設!」でした!
次回もお楽しみに!Ciao!

コメント

タイトルとURLをコピーしました