ども、らーにゃです。今回はPythonのプログラムについてまとめます。
Pythonをもっと身近なことに応用できないか?
プログラミングをかじり始めた人で、こんなことを感じる人はいないでしょうか。
学んだスキルを身の回りのことに活かせるとワクワクして勉強がもっと楽しくなります!
ただ、ワタシのような非エンジニアの人だと、やりたいことを妄想したとしても
「きっと難しいんだろうな…」
と感じてそこで思考も行動もストップする人が多いと思います。
(実際、ワタシ自身がそうでした。。)
ただ、Pythonの勉強を進める中で
「ど素人の自分でもコピペするだけである程度やりたいことが出来る!」
と感じたので、ワタシのような初心者の人が諦めずに勉強を続けるようにするために、今まで学んだプログラムなどをまとめて公開します!
- WindowsやiPadで自動化を試す!
- WEBサービスと連携する!
- AI・データ分析を使いこなす!
また、最後に忙しい社会人におすすめしたい勉強法についても記載しています!
「手っ取り早く、効率的な勉強法を知りたい!」
という方はコチラをぜひご参考にしてみてください!(‘ω’)ノ
目次
Pythonは初心者でも出来る?
まず最初に「Pythonって初心者でも扱えるものなのか?」と言う点から考えます。
これは結論、初心者でも問題なく取り扱いしやすい言語です。
特に業務効率化の文脈で目にすることが多い言語です。
ただ、普段の業務を考えるとまだまだエクセルの存在感が強く、どうしても「効率化=VBA(エクセルの言語)を組む」みたいな雰囲気があります。
ただ、最近はRPA(Robotic Prosess Automation)の文脈で自動化しよう!という機運が高まっており、その中でもっとも取っつきやすいとされるのがPythonです。
しかも、Pythonは基本的に無料で使える、かつ、初心者でもとっつきやすいシンプルかつ使いやすい仕組なので手を出しやすいです。
実際に非エンジニアでPythonを学ぶ人は多いです。
特に、初心者が学ぶべきもう一つのポイントが色々な用途で使えるという汎用性・拡張性の高さです。
何かやりたいことがあると多くの場合、Pythonで実行可能であり、誰かしらそれをトライしてネット上にコードが落ちていたりします。
そのため、Pythonを学ぶのであれば自分でやりたいことをまずはネットで調べてコピペして実行して試し始めるのがスキルアップの近道です。
それが出来るように本記事でも目的別に記事をまとめていきますので興味がある内容とそのリンク先でコードをコピペしてみてください!
まずはコピペでプログラムをイメージ通りに動かすことが出来ると楽しくなります!
WindowsやiPadで自動化を試す!
まずは「WindowsやiPadで自動化」を実行していきます。
特に社会人であれば、使う機会の多い、ExcelやPDF化といったことや、PCで自動実行をして自動化したりできます。
さらにPCの前だけではなくiPad上でPythonを動かしたりと、どこでもPythonを使える環境を作ることも可能です。
環境整備については下記でまとめます。
PythonでExcelを操作する (openpyxlの活用)
Python上で、指定のExcelシートにアクセスして編集したり、保存したりが出来ます。
定型化しているエクセル業務などがあれば、Pythonで自動化することも検討する余地があります。
- プログラムの難しさ ★★☆☆☆
- プログラムの実用性 ★★★★☆
- プログラムの拡張性 ★★★☆☆
結局は現業はまだまだExcel中心なんですよね
PCで自動実行するプログラムを作る(タスクスケジューラの活用)
指定時間に指定のPythonファイルを定期実行する仕組を作れます。
タスクスケジューラーやバッチファイルなど、普段見慣れないものが多いですが、とっても単純な仕組です。
- プログラムの難しさ ★★☆☆☆
- プログラムの実用性 ★★★★★
- プログラムの拡張性 ★★★★☆
Windowsのパソコンなら誰でも色々なものに転用できるのがいいね
iPad上でPythonを使う (Google Colaboratory活用)
Google Colaboratoryを利用してiPadのブラウザ上でPythonコードを編集できるようにします。
Googleシリーズなので当然無料で、ネット環境があれば出先であってもどこでもOKです。
- プログラムの難しさ ★☆☆☆☆
- プログラムの実用性 ★★★★★
- プログラムの拡張性 ★★★☆☆
iPadでプログラミング環境出来ると、スマホのテザリングと併せて本当にどこでも出来るから便利です
WEBサービスと連携する!
次にWeb上のデータ連携についてです。
Web上のデータを抽出する仕組(Seleniumの活用)
指定のページから指定の値を引き抜くプログラムを作ります。
ログインが必要なページであっても突破は可能で、タスクスケジューラーと組み合わせると大変効果的です。
- プログラムの難しさ ★★★☆☆
- プログラムの実用性 ★★★★★
- プログラムの拡張性 ★★★★☆
自動で欲しい情報を定期的に探しにいってくれると色々とリサーチが簡単にできるね
収集データのスプレッドシート化(Google APIの活用)
収集データ(データフレーム等)をスプレッドシートに移し替えるプログラムを作ります。
これによって、Pythonで収集したデータを逐一蓄積する仕組が構築できます。
- プログラムの難しさ ★★★☆☆
- プログラムの実用性 ★★★★☆
- プログラムの拡張性 ★★★★☆
Googleも当たり前のように使っていますがAPIの開放は本当に色々なものがあってビックリします。
X(Twitter)データを利用した分析(Twitter APIの活用)
X(Twitter)上にあるデータにアクセスして必要なデータを抽出するプログラムを作ります。
これによって、最新のトレンドなどを自分で抽出して分析することが可能です。
- プログラムの難しさ ★★★★☆
- プログラムの実用性 ★★★★☆
- プログラムの拡張性 ★★★★☆
X(ツイッター)はAPIの設定だけがややめんどいけど、そこさえクリアすると色々できるんですよね。
文章データの傾向分析をする(janome, WordCloud活用)
web上のテキストデータを参照してテキストマイニングをプログラムを作ります。
上記のX(Twitter)のデータの参照や自動スクレイピングのプログラムと組み合わせると威力大です。
- プログラムの難しさ ★★★☆☆
- プログラムの実用性 ★★★★☆
- プログラムの拡張性 ★★★★☆
自分のX(ツイッター)情報とかビジュアライズさせるのも面白いね
AI・データ分析を使いこなす!
収集データのビジュアライズ(seabornの活用)
データ分析の可視化についてです。
映える見た目で考察しやすくするのは分析の肝になるわけですが、ここはまず抑えるべきポイントです。
- プログラムの難しさ ★☆☆☆☆
- プログラムの実用性 ★★★☆☆
- プログラムの拡張性 ★★★★★
まずはビジュアライズのスキルを身に着けるだけでも大分、実用性が上がりますね
収集データの分類分け (クラスタリングの実施)
データ分析の基礎ができたら、クラスタリングの手法を覚えると分析の幅が広がります。
具体的にはぐちゃっとしたデータから傾向をくみ取って分類分けする手法で使えるシーンが多いものです。
- プログラムの難しさ ★★★☆☆
- プログラムの実用性 ★★★★☆
- プログラムの拡張性 ★★☆☆☆
クラスタリングって聞きなれないけど、分類分けって使いどころ多いよね
AIによる画像データの解析 (ディープラーニングの実施)
画像処理の自動分類分けのアルゴリズムです。
AIといわれてイメージするのは恐らくこの領域のことが多いかと思います。
- プログラムの難しさ ★★★★☆
- プログラムの実用性 ★★★☆☆
- プログラムの拡張性 ★★★★☆
ディープラーニング=ムズそうと、思考停止しがちだったのですが、イマは初心者でもサクッと使えるのですね
AIのモデル自体を自動選定する(Auto MLの活用)
機械学習のモデリング自体は自動化します。
上記のディープラーニングを含め、難しい機械学習のモデルで何がベストかをプログラムが選定してくれます。
- プログラムの難しさ ★★★★★
- プログラムの実用性 ★★★★☆
- プログラムの拡張性 ★★★★☆
難しそうだけど、とりあえず全て自動でやってくれるならスキルとしては押さえておきたいね
データ分析力を高めるコンペの利用 (KaggleとSignateの活用)
最後に分析力を向上させるためのデータコンペサイトの活用です。
世界規模のものがKaggle、国内最適したものがSignateです。後者は日本語対応されていて初心者に優しいです。
- プログラムの難しさ ★★★☆☆
- プログラムの実用性 ★★★★☆
- プログラムの拡張性 ★★★★★
学んだものをアウトプットする場所はあった方がスキルが磨きやすいですね
Google Data Portalでデータ連携・ビジュアル化
また、自動化の中でも特におすすめなのが、データの見える化・ビジュアル化です。
これはスプレッドシートへの移し替えと同じGoogleのBIツールのサービスであるGoogle Data Portalを使えば、簡単に映える形になってテンションが上がります。
下記の記事でまとめていますので、上記と併せて確認頂くと自動化の道が開けます。
例えば、web上の情報をCSV形式で落とし、それを加工(前処理)する工程でPythonを利用します。
その後に加工したデータをスプレッドシートを介してBIツールに流し込むことでビジュアル化が出来ます。
具体的には下記のリンクではiPadでZaimのビジュアライズをしています。
ビジュアル化って想像以上に受け手へのインパクトがつよいよね
Google Data Portalでイケてる見た目にする
上記の通りBIツールとのデータ連携のポイントが分かったらあとは、ビジュアル化を極めるのみです。
特にGoogle Data Portalはイケてるダッシュボードも無料でコピペして使える仕様になっているので、徹底的にパクることでスゲェ見た目が簡単に手に入ります。
しかも大盤振る舞いなのが、いつのまにやらData Portalもテンプレのコピペも全て無料になっているという点です。
下記の記事でやり方はまとめていますので、上記と併せて確認頂くと自動化の道が開けます。
予備知識なくともコピペでいいので簡単にできちゃいます。
初心者が楽にPython習得する3ステップ
最後に「プログラミングのおすすめ勉強法」に関してです。
副業や趣味などで勉強をしはじめたプログラミング初心者の人は、少ない時間の中でどうステップアップすればいいのか。
結論としては、下記のステップに沿って勉強するのが最も時間をかけずに最短でやりたいことが実現できます。
ポイントは、学校の授業のように少しずつできるコトを積み上げるのではなく、先にやりたいコトを作ってしまう点です。
やりたいプログラムを手にした後に、それを解読しながら、何が自分に足りていないかを試行錯誤しながら学んでいきます。
間違っても、社会人は安いテキストを見ながら少しずつやるみたいなことはしないでください!
それでは下記に順々にお伝えします!
実際に試しみた学習サービスやツールを踏まえてオススメのやり方をお伝えしますね。
STEP①:基礎を最短で固める
STEP①は「基礎的なコードを書ける状態になるはやでなる」ことです。
まずは当たり前ですが基礎的なことを学ばないと何も積み上がりません。
新たにプログラミングを学ぶ時は、環境整備や、基本的なことなどとにかく覚えるコトが多いです。
ただ、先にも述べた通り、社会人はとにもかくにも時間がありません、仕事もして家庭のこともやったら時間などほとんど残りません。
そのため、忙しい社会人がゼロから学ぶ時に最重視するのは如何にして時間をかけずに無駄なく学べるかです。
この点であれば、オンラインスクールを使うのが一番ベストです。
オンラインスクール選びの観点
これを使うメリットは主には下記3点です。
- 整ったカリキュラムで効率的に学べる
- 気になったことをすぐに相談できる
- メンターとのやりとりでリズムが作れる
正直なところ、上記の3要素が担保されれば、どんなスクールでも良いです。
オンラインじゃないスクールもありますが、忙しい社会人はスキマ時間も使って勉強する必要があるのでおすすめしません。
もしも対面のスクールを検討するならば、会社をやめている
・長期休暇中である
・学生である、と多少、時間に余裕がある人がいれば選択肢として残すのがよいです。
ただ、スクールの唯一のデメリットは「費用が高い」という点があげられます。
ここへの対策としては、下記の2点を必ずチェックしてください。
- 厚生労働省:「職業訓練給付金制度」
- 経済産業省:「キャリアアップ支援事業」
どちらも国がリスキリングを支援するプログラムで70%程度の割引が見込めます。
ワタシは今までこれを実施してきて、総額70万程度のお金を割引ができています。
社会人であればこの手を使わない手はないです。
ちなみに、おすすめのオンラインスクールは「テックアカデミー」です。
実際に通ってみて講義内容もよく、サポート体制も万全で、割引制度もあり、プログラミングを始めてやる人にはうってつけです。
自分で自分のやる気をもたせるが一番難しいんですよね
STEP②:人の手を借りて創る
STEP②が「人の手を借りてでもプログラムを創りきる」ということです。
基礎ができた次にやることは、自分で創りたいと思うプログラムを実際に作って”もらっちゃう”ことです。
プログラミングを勉強するということは、その背景にやりたいことが必ずあるはずです。
それを遠い先の目標にするのではなく、プロに頼んでプログラムを作ってしまうということをするのです。
プログラミングの良いところは、基礎さえ固まっていれば、歴が浅くても解読はできるようになると言う点です。
つまり、基礎が固まった時点で、一気にゴールまで2速跳びでいっても問題ないわけです。
ここまでいくとモチベーションが爆上がりします。
プログラムの依頼の仕方
とはいえ、ここでも課題になるのは費用です。
プログラムをプロの専門業者に依頼したらとてもじゃないですが個人で払える金額ではないです。
そんな時に考えたいのが、個人への依頼です。
具体的なサービス名でいえば「ココナラ」などです。
上記のサービスを使うコトで、自分のやりたいコトを個人間でやりとりをして安価に実現ができます。
また、出来上がったプログラムを解析・相談しながら勉強を深めることができます。
プログラミングはまずは何らか自分で作ってからその後に知識を深める方が圧倒的に学習効率が良いです。
やり方は簡単でココナラなどに登録をして、やりたいことをまずはメッセージを出して、見積書を作って貰えばOKです。
実際にプログラムを作ってもらい解説もしてもらい効率がとても良かったです
STEP③:自分で試行錯誤する
STEP③は「応用が効くように自分で試行錯誤する」ことです。
STEP①、STEP②を行ってはじめてここで、参考書などの教材と言われるようなものを使って自学自習をします。
基本的に、初心者はいきなり自学自習をすることはオススメしません。
ある程度、できるようになってからでないと挫折をしやすいからです。
そのため、どんな勉強をするにしても、スクールなりオンラインサロンなり、似た境遇の人がいたり、教える人がいる状態を作りましょう。
逆に、それをある程度、こなして多少できるようになった人は自学自習をして応用ができるようにしていきましょう。
自学自習に適した教材とは
では、具体的にどんな教材がプログラミングに良いのか。
一言で言うならば、デジタル化された教材が良いです。
なぜかというと、プログラムなどがコピペでそのまま使えるのと検索がしやすいからです。
具体的にはKindleに対応した書籍、もしくはUdemyを使うのがオススメです。
Udemyとは個人が作る教育コンテンツをオンライン上でやりとりできるプラットフォームです。
前述のココナラの教材版だと思えばOKです。ここにも多くのコンテンツがありますがPythonであれば下記がおすすめ。
その他、色々なコンテンツがありますが、Udemyにログインすれば自分で自由に検索してコスパが良いものを探せます。
ちなみに自学自習のモチベーションを維持するためには、手帳を使う方法がおすすめ。
スタディープランナーなどを使いながら、仕組みとしてモチベーションを維持する仕組みを創ると継続が簡単です。
自学自習をしながらスキルが積み上がると楽しくなってくるよね
まとめ
今回ポイントしてまとめてきたのは以下の3点です。
- Pythonで出来ること
▷Googleサービスの他、Twitter, Toggl,FitbitなどAPIを経由して自動化が可能 - Python×BIツールで連携・拡張できること
▷Google Data Portalを利用して自動的にイケてる見た目にすることが可能 - 自作プログラムへの拡張
▷自分の状況に合わせた学習アプローチを検討して実践する
今回はポイントになることをまとめていきましたが、Pythonを扱うことが出来ると、効率化・自動化をさせることは無限大です。
そしてこのPythonの何と言っても素晴らしいのが用途の幅が広い!そしてしかもタダ!ということです。
仕事でつかえる部分があるのは勿論のこと、プライベートでも利活用できるオトク技がいっぱいなため、非エンジニアの人でもぜひトライしてみてください!
特に、自分でトライして頑張ってみるぞ!という人はまずは、動画学習でもスクール活用でも、自分に合うアクションで進めていきましょう。
自身の今のスキルや状況に応じて、次のステップアップに向けた動きを付けて一緒に自動化・効率化の技術を上げていきましょう!(‘ω’)ノ
ご精読頂きありがとうございました!
m(_ _)m