Python

Pythonでできること6つをコード例をまじえてまとめておく!

Python-can
ウマたん
ウマたん
当サイト【スタビジ】の本記事では、Pythonでできることを6つまとめていきます!!Pythonで何ができるのか分からない状況から深い理解にもっていきますよー!実際にPythonでの実装例や勉強方法も取り上げているのでぜひご自分の環境で手を動かして実装してみてくださいね!

こんにちは!

消費財メーカーでデータサイエンス・デジタルマーケやらにたずさわっているウマたん(@statistics1012)です。

大学院時代は統計学専攻でRをメインに使っていましたが、社会人になってからはもっぱらPythonを使っています。

ロボたん
ロボたん
RとPythonってどっちの方がよいのー?
ウマたん
ウマたん
データ解析の言語としてはRとPythonぶっちゃけどっちでもよいんだけど、やっぱりできることの幅はPythonの方が広いかなー!

実際のところ、RからPythonに移行してみてできることの幅は大きく広がりました!!

そしてRと比較してPythonは情報がたくさんネットに落ちているので学びやすい!

とはいえ、Pythonでできることや学ぶ意味を知ってからじゃないと本腰入れて勉強できないですよねー!

そこで、この記事ではPythonで何ができるのか!Rと何が違うのかについて見ていきたいと思います。

実際にPythonでのコード例も記載しているのでぜひ参考にしてみてくださいねー!

この記事で分かるコト

・Pythonで何ができるのか
・PythonとRで何が違うのか
・Pythonでできること集
・Pythonをどのように勉強していけばよいのか

ウマたん
ウマたん
Pythonの勉強は以下の記事をチェック!
【独学入門】初心者が3か月でPythonを習得できるようになる勉強法!当ブログ【スタビジ】の本記事では、Pythonを効率よく独学で習得する勉強法を具体的なコード付き実装例と合わせてまとめていきます。Pythonはできることが幅広いので自分のやりたいことを明確にして勉強法を選ぶことが大事です。...

Pythonとは

ハテナ

まず、Pythonとはどんな言語なのか簡単にみていきましょう!

Pythonとは1991年に開発され現在全世界で非常に幅広い人に使用されている言語です。

他のプログラミング言語と比較してコードがシンプルで分かりやすく、エンジニアでなくても使いやすいのが特徴です。

ロボたん
ロボたん
シンプルだとあんまりたくさんのことが出来ないんじゃないのー?
ウマたん
ウマたん
いいや!シンプルでありながらも非常に多くのことができるんだよー!ビックリするはず!

そう、Pythonは簡単で分かりやすい言語でありながら非常に多くのことができる優秀な言語なんです!

最初に学ぶプログラミング言語としても最適ですよー!

Pythonで出来ること6つ

PC

そんなシンプルでプログラミング初心者にもやさしいPythonができることの幅広さはプログラミング言語の中でも随一!!

実際に何ができるのか具体的な例と共にみていきましょう!

データ集計・加工・描画

メモ

データの集計・加工・描画に便利なnumpy/pandas/matplotlibなどのフレームワークが用意されており、簡単に行うことができます!

これらは、データ解析を行う下準備に必要になってくるので必須な初歩スキルです!

Rだとdplyrパッケージによって同等の処理ができますが、Pythonの方が圧倒的に使いやすいです。

機械学習を使った回帰・分類

やはり、Pythonの特徴は機械学習フレームワークの充実

様々な回帰・分類手法を実際に実装することが可能です。

最新の手法も比較的早くライブラリに実装されるので、最新のトレンドをキャッチアップしやすいのが特徴です。

機械学習手法は非常に多くの種類があります。

その中でも代表的な例として決定木を簡単に見ていきましょう!

決定木以外にもコード例もあわせてまとめている記事を以下に並べておきますのでぜひ見てみてください。

主成分分析とは?簡単な説明とPythonでの実装!当サイト【スタビジ】の本記事では、実務の基礎分析にて使われることの多い主成分分析について詳しく見ていきます。最後にはカンタンなPythonでの実装も載せていますのでぜひ参考にしてみてください!...
決定木
決定木とは?PythonとRで実装してみよう!当サイト【スタビジ】の本記事では、機械学習手法の基本である決定木について見ていきたいと思います。アルゴリズムが分かりやすく実務でもよく使われる手法です。RとPythonでの簡単な実装も合わせておこなっていくので是非チェックしてくださいね!...
ランダムフォレストとは?PythonとRで実装してみよう!当サイト【スタビジ】の本記事では、決定木をアンサンブル学習することにより汎化能力を高めた強力な機械学習手法「ランダムフォレスト」について見ていきましょう!アルゴリズムを確認した後にRでもPythonでも実装をおこなっていきますよー!...

ちなみにディープラーニング(深層学習)まわりの手法も比較的カンタンに実装できちゃいます。

一般的な機械学習と比較すると高度な手法ですが、それでもPythonを使えば簡単に実装することができるんですよー!

TensolflowやKerasなどの使いやすいフレームワークが用意されているのです。

実際にディープラーニングを実装しているコードを以下に記載しておきます。

具体的には以下の記事にまとめていますので見てみてください!

【入門】ディープラーニングとは?仕組みとPythonでの実装を見ていこう!当サイト【スタビジ】の本記事では、ディープラーニングの仕組みやPythonでの実装方法について解説していきます。ディープラーニングってなんとなくブラックボックスなイメージがあるかもしれませんが、実はシンプルなアルゴリズムなんですよー!...

また、勾配ブースティングと呼ばれる最先端の手法群もPythonなら余裕で実装可能!

勾配ブースティング
勾配ブースティング手法をPythonで実装して比較していく!当サイト【スタビジ】の本記事では、勾配ブースティングの各手法をPythonで実装して徹底比較していきます!勾配ブースティングの代表手法「Xgboost」「Light gbm」「Catboost」で果たしてどのような違いがあるのでしょうか?...

WEBスクレイピング

WEBスクレイピングとはWEB上の情報をクロールして抽出することのできる方法です。

毎回手動でデータを引っ張ってくるのは非常に面倒であるため、スクレイピングを使って自動でデータを引っ張ってくることが多いです。

非常に応用の範囲が広い技術で、様々な場面で用いられています。

例えば、スクレイピングを使うことで株価の情報などを自動的に日々抽出して自動売買するなど応用が可能です。

スクレイピングはPythonの「Requests」「beautifulsoup」というライブラリを使えば簡単に実装可能です。

ただスクレイピングはサーバーに負荷がかかるのでスクレイピングが対象サイト内で禁止されていないか注意しましょう!

実際にURLを渡すとページ内pタグのテキストを返してくれるスクレイピングを実装したコードを載せておきます。

スクレイピングについて詳しく知りたい方は以下の記事を見てみてください!

PC
【初心者向け】Pythonのbeautifulsoupでスクレイピングを実装してみよう!当サイト【スタビジ】の本記事では、初心者向けにPythonでスクレイピングを行う上での注意点や実装方法そして勉強方法についてまとめていきます!スクレイピングは比較的カンタンに実装できますが、奥が深く他の知識と組み合わせることで高いシナジーが見込める分野です。...

データベース操作

クラウド

なんとPythonからSQLを使うことも出来ちゃうんです!

SQLを最速でマスターできるオススメ本と勉強方法!当サイト【スタビジ】の本記事では、SQLを勉強するのにオススメな本と勉強法についてまとめていきます!SQLはデータサイエンスの基本であり必ずマスターしておかなくてはいけない言語です。早い段階から手を動かすことで理解が深まりますよー!...

もちろんSQLの知識は必要ですか、PythonからSQLに接続しDB操作しSQLの記述で抽出・加工し戻すことが可能です。

PythonでSqlite3を使用するコード例を以下に載せておきます。

以下の記事で詳しくまとめていますのでよければ見てみてください!

PythonのSqlite3を使ってデータベースを操作する方法を見ていこう!当サイト【スタビジ】の本記事では、PythonのSqlite3を使ってデータベース操作をおこなっていきます。PythonでSQL扱えると便利!もちろんPythonだけでなくSQLの知識も必要になるので注意してくださいねー!...

API連携

macとsurface

外部アプリケーションのAPIを叩いてデータ連携することが可能です。

現在は様々なアプリケーションにおいてAPIが公開されているので、どんどんAPIを取り入れていくことが重要です!!

ちなみにGoogle search consoleのAPIを叩いて検索クエリを抽出するコード例を以下に載せておきまーす!

詳しい内容は以下の記事を見てみてください!

PC
Pythonを使ってGoogle search consoleのAPIを叩いてみた!5000行出力! こんにちは! 消費財メーカーでデジタルマーケターやらデータサイエンティストっぽいことをしているウマたん(@statistics101...

Webアプリケーション開発

最後の6つ目がWebアプリケーション開発!!

機械学習やAPI連携・スクレイピングだけでなく、FlaskやDjangoなどのフレームワークを用いれば、サーバーサイド言語としてWebアプリケーション開発に用いることができるんです!!!

Flask Django
Flask vs Django!PythonのWebアプリケーションフレームワークを徹底比較!当サイト【スタビジ】の本記事では、PythonのWebアプリケーションフレームワークである「Flask」と「Django」の違いを徹底的に比較していきます!なんとなーく分かっているようで分からない2つのフレームワークの違いをこの機会にしっかりおさえておきましょう!...

Webアプリケーションの開発は、Pythonの真骨頂でありRとの大きな違いでもあります。

ただ、RubyやPHPなどの言語と比較すると処理速度が遅いなどのデメリットも存在します。

Flaskを用いて、有意差を計算するWebアプリケーションを作成した記事を以下にまとめています。

非常にボリューミーですが、ぜひ目を通してみてください!

macとsurface
PythonのFlaskで簡単なWebアプリケーションを作ってみよう!当サイト【スタビジ】の本記事では、Pythonの軽量WebアプリケーションフレームワークであるFlaskを使って簡単なWebアプリケーションを作成していきたいと思います。Pythonを開発言語としても使えるようになると、幅が広がりますよー!...

Pythonのメリット

Pythonでできることは分かってもらえたと思いますが、これらを実装できる言語は他にもあります。

ロボたん
ロボたん
他の言語があるのに、なんでPythonを使う必要があるのー??
ウマたん
ウマたん
うんうん、確かに疑問に思うのも無理はない!Pythonにどんなメリットがあるのか見ていきましょう!

データ分析が絡むなら単体で強力

まあデータ分析関係なら基本的にPythonの右に出る言語は今のところいないでしょう。

Rはグラフ描画に、Stanはモデリングに優れていたりしますが、総合的にはやはりPythonですねー!!

統計解析を行う上で便利なプログラミング言語を比較!当サイト【スタビジ】の本記事では、統計解析において便利なプログラミング言語「Python/R/Stan/SQL」を比較していきます。それぞれのプログラミング言語にどのような特徴があるのか、どのように勉強していけばよいのか見てきますよー!...

データ分析がしたいならPythonを選んでおいて問題はないです。

コードがシンプル

Pythonはコードの階層構造を大事にしており、それがズレると構文エラーを起こします。

最初は慣れないかもしれませんが、慣れると非常に構文がスッキリしていてどんな人が書いた構文でも比較的読みやすいです!

Udemyの以下の講座で、Python記法のルールが身に付くので興味のある方はぜひチェックしてみてください!

コードもシンプルで済みます。

できることの幅が広い

さきほど見てきましたが、できることが6つもあるのです!!

そんな言語は他には存在しません。

スクレイピングで時系列データで情報を吸い上げて、それを基に予測を行いそれを出力するWebアプリケーションなどもPythonで完結できちゃいますね

ロボたん
ロボたん
わー!いいことばかり!デメリットはないの??
ウマたん
ウマたん
デメリットは処理速度が遅いところかなー!多様性に適用するために速度が犠牲になっているんだ!

Pythonを勉強する方法

Pythonで出来ることやPythonを使うメリットが分かったところで、そんなPythonをどのように勉強していけばよいのでしょうか?

僕自身、なかなかPythonの勉強が捗らず苦労した経験があります。

そんな僕がオススメするPythonの勉強方法をまとめていきます!

Pythonはできることの幅が広いので、まずはPythonを使って何をしたいのかを明確にするべきです。

Pythonを使って実現したいことが明確でない人と明確な人では勉強法が違いますので別々にみていきますね。

Pythonで何がしたいのか明確な人にオススメの勉強法

何がしたいのか明確な人はUdemyで自分の実現したいことを解説してくれている講座を受講してみるとよいでしょう!

Udemy

Udemyは世界最大のオンライン学習プラットフォームなんです!

Udemyの基本情報

・世界最大のオンライン学習プラットフォーム
・日本事業ではベネッセがパートナーになっている
・15万種類ものコース
・約3億人のユーザー登録
※2020年3月時点

コースは買い切り制で気に入らなかったら返品もできるので非常におすすめです。

実際にめっちゃお世話になってます笑

以下の記事でPythonの講座を実際に20コース以上受けて比較していますので是非チェックしてみてください!

Udemy Python
【20コース以上受講】UdemyのおすすめPythonコースを徹底レビュー!当サイト【スタビジ】の本記事では、世界最大の教育プラットフォーム「Udemy」のPython講座を20コース以上受講した僕がそれぞれのコースを徹底的にレビューしていきます!ぜひムダな時間を費やさず目的に沿った効率の良いPython学習を進めてくださいね!...

ドローンやブロックチェーンなんかの講座もあるんですよー!

Pythonで何がしたいのか明確でない人にオススメの勉強法

さて、Pythonで何がしたいのか明確でない人はまずはそれを見つけることが大事なのですが無理やり見つけてUdemyで講座を購入してもなかなかモチベーションが保てず途中で辞めてしまう可能性大です。

僕自身そういう経験しているのですーーっごい分かります・・・

そういう人にはテックアカデミーをおすすめします!

テックアカデミートップページ
【体験談】テックアカデミー評判は?3か月本気受講してみたので徹底レビュー!当ブログ【スタビジ】では、様々なプログラミングスクールの中からテックアカデミーのメリット・デメリット・評判について3か月の体験談をもとに赤裸々にレビューしていきます。...

教材レベルは正直それほど高くないんですが、パーソナルメンターが付くので全然モチベーション違いますよー!お尻に火が付きます!

実際にパーソナルメンターのもとで勉強を進めて3か月で機械学習アプリケーションをデプロイできるところまで学びました。

Pythonの勉強に関しては以下の記事で詳しくまとめていますのでチェックしてみてください!

【独学入門】初心者が3か月でPythonを習得できるようになる勉強法!当ブログ【スタビジ】の本記事では、Pythonを効率よく独学で習得する勉強法を具体的なコード付き実装例と合わせてまとめていきます。Pythonはできることが幅広いので自分のやりたいことを明確にして勉強法を選ぶことが大事です。...

Pythonでできること まとめ

このように実際にあらためて見ていくと本当にPythonはできることの幅の広い優れたプログラミング言語だなーと思います。

ロボたん
ロボたん
Pythonってこんなにたくさんのことができるんだねー!知らなかったよー!
ウマたん
ウマたん
データ分析だけの言語と思われがちだけど、実は色んなことができるんだよー!

Pythonの勉強に関しては以下の記事で詳しくまとめていますのでチェックしてみてください!

【独学入門】初心者が3か月でPythonを習得できるようになる勉強法!当ブログ【スタビジ】の本記事では、Pythonを効率よく独学で習得する勉強法を具体的なコード付き実装例と合わせてまとめていきます。Pythonはできることが幅広いので自分のやりたいことを明確にして勉強法を選ぶことが大事です。...

ただ、できることがたくさんあってもやりたいことがないとなかなかプログラミング言語は継続しません。

プログラミングの勉強を挫折せず効率よく進める方法は以下の記事を見てみてください!

PC
【体験談】プログラミングを挫折しない方法3つの秘訣!当サイト【スタビジ】の本記事では、プログラミングを挫折しないで独学で勉強し続けられる方法についてまとめていきます。プログラミングを挫折し続けてきたからこそ伝えられる価値があると思い、今までの経験を基に徹底的にお話しいていきますよー!...
Pythonを初学者が最短で習得する勉強法

Pythonを使うと様々なことができます。しかしどんなことをやりたいかという明確な目的がないと勉強は捗りません。

Pythonを習得するためのロードマップをまとめましたのでぜひチェックしてみてくださいね!