Python

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

Python-can

こんにちは!

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

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

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

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

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

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

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

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

この記事で分かるコト

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

ウマたん
ウマたん
Pythonの勉強は以下の記事をチェック!
【入門】初心者が3か月でPythonを習得できるようになる勉強法!当ブログ【統計ラボ】の本記事では、Pythonを効率よく習得する勉強法についてまとめていきます。Pythonはできることが幅広いので自分のやりたいことを明確にして勉強法を選ぶことが大事です。...

Pythonとは

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

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

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

ロボたん
ロボたん
プログラミング言語って挫折してしまいがちだからなー!
ウマたん
ウマたん
その点、Pythonは比較的挫折しにくい続けられるプログラミング言語なんだよー!

Pythonがなぜ続けやすいかというと、コードがシンプルであることももちろんなのですが、ネットに様々な情報が落ちているコト・機械学習などは実装しやすく簡単に成果が見えるコトなどがあげられます。

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

Pythonで出来ること6つ

PC

そんなシンプルでプログラミング初心者にもやさしいPythonなのですが、実は様々なことができるんです!!

できることの幅広さはプログラミング言語の中でも随一!!

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

データ集計・加工・描画

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

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

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

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

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

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

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

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

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

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

主成分分析とは?簡単な説明とPythonでの実装!当ブログ【統計ラボ】の本記事では、実務の基礎分析にて使われることの多い主成分分析について詳しく見ていきます。最後にはカンタンなPythonでの実装も載せていますのでぜひ参考にしてみてください!...
決定木とは?PythonとRで実装してみよう! こんにちは!デジタルマーケターのウマたん(@statistics1012)です。 有名な機械学習手法の一つに決定木がありま...
ランダムフォレストとは?PythonとRで実装してみよう!こんにちは!デジタルマーケターのウマたん(@statistics1012)です! 今回は、汎化能力の非常に高い最強手法ランダムフォ...

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

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

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

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

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

【入門】ディープラーニングとは?仕組みとPythonでの実装を見ていこう!こんにちは! 消費財メーカーでデジタルマーケ&データサイエンティスト的なお仕事をしているウマたん(@statistics1012)...

WEBスクレイピング

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

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

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

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

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

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

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

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

PC
Pythonのbeautifulsoupでスクレイピングを実装してみよう!こんにちは! 消費財メーカーでデジタルマーケティングに携わっているウマたん(@statistics1012)です! Webサ...

データベース操作

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

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

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

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

PythonのSqlite3を使ってデータベースを操作する方法を見ていこう!こんにちは! 消費財メーカーでデジタルマーケティングに携わっているウマたん(@statistics1012)です。 Pyth...

API連携

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

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

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

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

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

Webアプリケーション開発

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

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

Pythonの真骨頂であり、Rとの大きな違いでもあります。

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

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

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

macとsurface
PythonのFlaskで簡単なWebアプリケーションを作ってみよう!こんにちは!デジタルマーケターのウマたん(@statistics1012)です! Webブラウザで動くアプリケーションのことをWe...

Pythonのメリット

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

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

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

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

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

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

コードがシンプル

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

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

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

できることの幅が広い

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

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

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

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

Pythonでできること まとめ

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

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

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

【入門】初心者が3か月でPythonを習得できるようになる勉強法!当ブログ【統計ラボ】の本記事では、Pythonを効率よく習得する勉強法についてまとめていきます。Pythonはできることが幅広いので自分のやりたいことを明確にして勉強法を選ぶことが大事です。...

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

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

PC
プログラミングを挫折しないで勉強し続けるために重要な3つの秘訣!こんにちは! 事業会社でWebマーケ・データ解析屋さんとしてお仕事をしているウマたん(@statistics1012)です。 ...

 

 

Pythonを初学者が最短で習得する勉強法

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

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