【保存版】今話題のPythonでできることを、プログラミング未経験者でもわかるようにまとめてみた

Python


Dividableは、未経験からWebアプリ開発やマーケティングを学ぶ人向けにDAIが運営しているメディアです。月間ブログPV数は10万ほど。ツイッターフォロワー数は2万人ほど。ツイッターでフォローすると、最新情報を受け取れます!
よく読まれているコンテンツ

こんにちは、DAIです。

 

プログラミングを知らない人でも、Pythonという言葉を聞いたことがある人は多いのではないでしょうか。

書店などに行くと、Pythonに関する書籍があふれていますが、プログラミングを知らない人からするとPythonを学ぶと何がうれしいのか、

さっぱりわかりませんよね。

 

そこで今回は、Pythonを学ぶとどんなことができるようになるのかを、普段プログラミングに触れていない人にもわかりやすくまとめてみたいと思います。一緒にどうやればできるようになるのかについても解説します。

ちなみに!先に言っておきますが、Pythonができると めちゃくちゃ 便利です!また、初学者でも学びやすい言語なので、エンジニアではない人でも非常に重宝します。

 

Pythonでスクレイピングという技術で、自動でネット上のデータを取得することができる

Pythonでは、スクレイピングという技術があります。スクレイピングとは、簡単に言うとプログラミングで自動でWebサイトにアクセスして、インターネット上の情報を取得して、ダウンロードできてしまう技術です。

例えば、僕の友人では、海外の商品を仕入れて、日本で販売している人がいます。そして、そのために海外のWebサイトにアクセスして、毎日そのサイトに在庫があるのかを確認していたんですよね。でも、正直めっちゃくちゃ時間がかかるわけで、大変なんです。

でも、Pythonを学んでスクレイピングの技術を学ぶと、その面倒なルーティンを完全に自動化できます。Webサイトの中のすべての商品データにアクセスして、その中で在庫があるものだけピックアップして、CSVファイルやExcelファイルにダウンロードすることも可能なわけです。クラウドソーシングの案件で、以前これを自動化してあげたところ、お客さんが本当に喜んでくれました。

 

他にも、例えば営業先の顧客リストを創りたいみたいなときも、スクレイピングを利用すると非常に簡単に作ることができますね。僕自身が以前に作ったチュートリアルだと、あるWebサイトの記事名と記事URLを自動ダウンロードできるように解説しました。この技術を学ぶと、営業リストを自動で作成することもできます。

昔僕がやっていたのは、クラウドソーシングサイトでどういうスキルが一番単価が高いのかを調べた時もスクレイピングが非常に便利でしたね。

 

Pythonのスクレイピングを学んでみたい方は、こちらの記事を読んでみてください。

> noteでスクレイピングの方法を学ぶ

 

PythonでAPIという技術を利用すれば、普通だと取得できない他人のツイッターのデータを取得して分析することができる

僕はフォロワーが1.1万人いるのですが、このフォロワーを獲得するためにはかなりツイッターのデータを分析したうえで施策を考えているんですよね。

だからインフルエンサーのツイートとかって、めっちゃくちゃ勉強しているんですよ。どんなツイートが伸びやすいのかとか、favされやすいのかとか。

でも普通にツイッターを利用して、他人のツイートをさかのぼろうとすると、データがとれないんですよね。手打ちでやるのは相当面倒くさいです。

 

でも、Pythonが使えれば、APIというデータの窓口からツイッターにアクセスすることができます。APIとは、あるウェブサイトから情報を取得したり、情報を送信することができる窓口のことです。

ツイッターはAPIを提供しているので、例えばPythonからAPIを経由してツイッターに投稿するようなこともできるんですよね。ちなみにAPIとスクレイピングからのデータ取得の違いは、APIは公式でデータが取得できる窓口なのに対し、スクレイピングは公式の窓口からデータ取得しているわけではないということになります。

 

僕がよく使うのは、ツイッターのAPIを利用して、他人のツイートをすべて取得したりできます。自分がツイートを参考にしているインフルエンサー10人の過去500件のツイートをPythonでデータを取得して、そのデータをもとに特にRTが多かったものを並び替えるなんてことも、Pythonを使うと学ぶことができます。めっちゃくちゃ便利じゃないですか?

 

あとは例えば、自分のツイートで特に伸びたツイートとかをAPI経由でデータを抽出して、自分の伸びるツイートの特徴を洗い出してみると、伸びやすいツイートってしやすくなりますよね。実際僕は過去のツイートを5000件くらい取得して、特に伸びたツイートを分類してひたすらツイートをしたら、フォロワーが5カ月で6000人くらい増えました。

ちなみにその分析については、noteで公開しています。

また、ツイッターのAPIを利用してみたい方はこちらも見てみてください。

 

 

Pythonを使えば、データの加工をエクセルより簡単にすることができる

例えば、営業チームのExcelを取得して、ほかのチームとデータを結合したいみたいな場合がありますよね。

でも人によっては、売上を¥11,000 と書いている人がいたり、11000円と書いていたり、¥11000と書いている人がいる場合ってよくあると思うんですよ。

これをエクセルで全部処理しようとすると、途方もなく時間がかかります。

でも、Pythonを利用してデータの加工を行うと、3行くらいのスクリプトで全部きれいに整理することができるんですよね。下のコードはイメージですが、こんな感じ。

import pandas as pd # データを加工できるツールを読み込む
df = pd.read_csv("text.csv")# CSVのデータを読み込む
df["price"] = df[df["price"]].replace("円", "") #円と書いてある部分を消すことができる

エクセルで人力でデータの加工をしていたのがあほらしくなってくるくらい、Pythonができると便利です。

Pythonを使えば、データ分析ができる

例えば、データを処理して、それを折れ線グラフや円グラフに可視化したい場合って、多くの人がエクセルを使うと思うんですけど、エクセルで対応しているグラフ以外で可視化したい場合もありますよね。例えば、ワードクラウドと呼ばれるような可視化の方法もありますが、エクセルではできません。

ワードクラウドの例

また、可視化に限らず、込み入った統計解析をしたい方もいらっしゃると思います。

たとえば二項ロジスティック回帰分析を過去にエクセル上でしようとしたのですが、エクセルではできずに非常に困った記憶があります。(エクセルはぎりぎり重回帰分析ぐらいまで)

しかし、Pythonではほぼすべてのグラフ表示に対応していたり、AIと呼ばれるような機械学習の統計解析方法についてもすべて網羅しています。PythonではMatplotlibというライブラリ(ツール)を利用すれば、簡単にグラフの描画を行うことができるのです。

また、Pythonを利用して他人にプレゼン資料が創れるJupyter Notebookを利用すれば、そのデータ分析の過程もWeb上で共有できるのです。本当に便利ですよね。

また、データの取得から加工、分析までもシームレスにできるのも、Pythonの良い点です。

例えば、メルカリのデータを取得して、こんな感じで可視化をすることもできるんですよね。これも全部Pythonでやっています。

 

PythonはAIのライブラリが最先端である

AIを学んでみたい人も多いと思いますが、AIのライブラリが豊富なのはRという言語とPythonです。(一応ほかにもJuliaなんてものもあります)

機械学習のライブラリ、ディープラーニングのライブラリが豊富なので、AIを学びたいという方はPython一択かと思います。

 

Pythonを使えば、Webアプリを作ることができる

例えば、ログインが必要なWebアプリを作りたい人もいるかもしれません。

Pythonを使えば、Webアプリケーションを作ることができます。PythonでWebアプリを作るためには、HTML, CSS, JavaScriptなどWebページの見た目を作る言語と、Webアプリを作るためのフレームワークDjango、Flask、またデータを保存するSQLを学ぶ必要があります。

僕が以前に作ったのは、メルカリ上のデータをWebの画面からポチポチするだけでダウンロードできるようなシステムです。こんな感じでスクレイピングとWebアプリをかけ合わせたりすることもできますね。

 

なのでほかのスキルと比べると難易度が高いですが、AIとも相性がよいので、AIアプリをつくりたいなんてときもPythonが非常におすすめです。
具体的にどのように作ればいいかについては、こちらの記事も読んでみてください。

 

学習方法

ということで、Pythonを学ぶと様々なことができるようになります。再度やりたいこと別に、学ぶべきことをまとめてみます。

やりたいこと 学ぶべき言語 学ぶべきPythonライブラリ 難易度 使える場面
スクレイピング Python BeautifulSoup, Selenium 営業リストの作成
データの加工 Python Pandas データの前処理
データ分析 Python Pandas, Matplotlib, Numpy データの可視化、統計解析
AI Python scikit-learn, keras等 機械学習、ディープラーニングの分析
Webアプリ開発 Python, HTML, CSS, JavaScript, SQL Django, Flask Webサイトの作成

スクレイピング

スクレイピングに関しては、BeautifulSoupSeleniumというライブラリがあります。BeautifulSoupに関しては、僕が以前noteでチュートリアルを作ったので、興味がある人はぜひ見てみてください。少しPythonを触ったことがあるぐらいの人であれば、作ることができます。Seleniumは、ログインが必要なサイトのスクレイピング等に利用することが多いです。

 

学習教材としては、「Pythonによるスクレイピング超絶入門」がおすすめです。Python初心者でも、ゼロから実際のブログのデータをスクレイピングして、CSVに出力する方法をまとめた記事になっています。有料の記事ですが、途中までは無料になっているので、ぜひ試してみてください。

実際に、多くの購入者の方からもご好評をいただいています。

 

> noteでスクレイピングの方法を学ぶ

 

データ分析

データ分析に関しては、データ前処理のライブラリPandas、図形描画ライブラリであるMatplotlib、計算高速化ライブラリであるNumpyを学ぶことになると思います。こちらもnoteで学習することができるので、ぜひ見てみて下さい。

 

学習教材としては、【ソーシャルメディアのデータ分析①】Pythonでツイッターのオリジナルデータから、拡散されやすいツイートを分析してみよう!   という、これまた僕の作ったチュートリアルがおすすめです。

具体的には、実際に生のツイッターのデータを分析して、どういうツイートの特徴がリツイートされやすいのかを、データをもとに分析することができます。

もし、よかったらこちらも観てみてください!途中まで無料になっています。

> noteでデータ分析を学ぶ

AI

AI開発に関しては、機械学習やディープラーニングで、scikit-learnTensor-flow, Keras等のライブラリを勉強する必要があります。こちらもnoteで全て学習することができます。

おすすめの教材は、【AIプログラミング】LINEに画像を送ったら自動で文字起こししてくれる機械学習アプリを作ろう です。これは、Google Apps Scriptを利用して、LINEで送った画像から文字を起こして返してくれるというアプリです。Pythonではないですが、非常に楽しくAIを学ぶことができるかと思います。

 

> noteで自動文字起こしアプリの作成方法を学ぶ

 

また、Pythonでスクレイピングした画像を、顔認識するアプリを作るチュートリアル、「スケベAI「スケベ博士」をPythonとGoogle Apps Scriptで作るスケベ・チュートリアルを公開します」もおすすめです。

 

最初に、Pythonで画像をスクレイピングして取得して、それをMicrosoft Cognitive Face APIを利用して、画像を学習させて、顔認識までができるようになるアプリをつくることができます。

> noteで顔認識アプリの作成方法を学ぶ

 

Webアプリ開発

Webアプリ開発に関しては、FlaskDjangoなどが有名です。Flaskを学べるチュートリアルでは、Flaskチュートリアル – Pythonでツイッターの分析ツールを作ってディプロイしよう!(動画つき!)-   がおすすめです。

このチュートリアルでは、Twitter上でユーザーのリツイート数を取得して、グラフに描画できるようなアプリケーションを作成することができるようになります。

 

> noteでFlaskを学ぶ  

 

最後に

ということで、Pythonでできることについてまとめました。Pythonはプログラマー以外の人が学習すると、非常に市場価値があがります。


Dividableは、未経験からWebアプリ開発やマーケティングを学ぶ人向けにDAIが運営しているメディアです。月間ブログPV数は10万ほど。ツイッターフォロワー数は2万人ほど。ツイッターでフォローすると、最新情報を受け取れます!
よく読まれているコンテンツ