Pythonでできることを、現役エンジニアが解説してみた

最終更新日:
DAI
こんにちは、DAIです。

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

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

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

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

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

このツイートに書いたとおり、Python使えると本当に便利なんですよね~

Pythonでできること

では、Pythonではどういうことができるのでしょうか。結論からいうと、

  1. Webスクレイピング :データの自動収集が行える
  2. Web API:TwitterのAPIを利用して、インフルエンサーのツイートデータを収集
  3. データ分析:データの前処理がすごく簡単になる

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

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

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

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

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

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

https://twitter.com/never_be_a_pm/status/933477374238142467

 

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

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

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

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

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

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

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

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

また、Pythonを用いたTwitterの分析Webアプリの開発方法もManajobの『Pythonコース』で学習できます。

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でやっています。

https://twitter.com/never_be_a_pm/status/930444641022853121

 

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アプリをかけ合わせたりすることもできますね。

https://twitter.com/never_be_a_pm/status/939372686093848576

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

【Python独学者用】ゼロから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は、取得したHTMLデータを切り貼りできるライブラリです。Seleniumは、ログインが必要なサイトのスクレイピング等に利用することが多いです。

学習教材としては、Manajobの『Pythonコース』がおすすめです。実際にPythonとPythonのライブラリを使用して、以下のことが学習できます。

  • ゼロから実際のブログのデータをスクレイピングして、CSVに出力する方法
  • ブログのカテゴリから全記事をダウンロードする方法

データ分析

データ分析に関しては、データ前処理のライブラリPandas、図形描画ライブラリであるMatplotlib、計算高速化ライブラリであるNumpyを学ぶことになると思います。こちらも以下のチュートリアルで学習することができるので、利用してみてください。

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

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で顔認識アプリの作成方法を学ぶ

本気でAI開発を学びたいなら、プログラミングスクールで学習するのもおすすめです。解説記事も読んでみてください。

    AIが学べるプログラミングスクール厳選7校 | 受講生の体験談あり

    Webアプリ開発

    Webアプリ開発に関しては、FlaskDjangoなどのwebフレームワークが有名です。

    ManajobのPythonコースやUdemyなどでPythonを用いたWebアプリケーション開発のチュートリアルがあるので、そちらを利用すると良いでしょう。

    DAI
    ただ、Webアプリケーション開発は基礎文法やWebの仕組みを理解していないとハードルが高いです。

    その場合は、Progateやキカガクの脱ブラックボックスコースでPythonの基礎を学習してからトライするのがおすすめです。

    【キカガク】最大70%OFF!給付金をもらってAI人材を目指すなら!
    日本マイクロソフト株式会社との共同開発講座を受講可能。経済産業省が定めるReスキル、JDLAのE資格の認定講座受けるならキカガク!

    最後に:Pythonでできることまとめ

    ということで、Pythonでできることについてまとめました

    Pythonはプログラマー以外の人が学習すると、非常に市場価値があがります。