Python学院
メールマガジンバックナンバー

vol.36

  • コツ・知識
  • メールマガジン

Pythonでデータ収集から可視化まで~Selenium、Pandas、Matplotlibの役割についてご紹介

今回のテーマは
【Pythonを使ったデータ収集の方法と、集めたデータの可視化方法】でございます。

(約5分で読めます)

~~~~~~~~~目次~~~~~~~~~
1.Pythonを使って取得できるデータについて
2.Pythonでデータ収集を行えるライブラリ「Selenium」について
3.様々な種類のデータに対して処理が行えるライブラリ「Pandas」について
4.データを可視化するライブラリ「Matplotlib」について
5.まとめ
~~~~~~~~~~~~~~~~~~~

1.Pythonを使って取得できるデータについて

最初に「Pythonを使って取得できるデータ」についてお話をさせていただきます。
そもそも社内に存在するデータの保存方法はどのようなものがあるでしょうか。

1 人の記憶にのみ保存されているデータ
  ⇒「〇〇さんに業務を頼んだ」「○○さんから伝言を受けた」など
2 紙媒体に手書きで保存されているデータ
  ⇒「各種のメモ」「アンケート回答」など
3 紙媒体にパソコンなどで打ち込まれて保存されているデータ
  ⇒「入金伝票」「見積書」など
4 Webやシステムなど、電子媒体上に保存されているデータ
  ⇒「勤怠データ」「人事考課データ」など

大きく分けて上記の4つのデータが社内には存在しますが、これらのデータのうち、Pythonでデータ収集を行えるのは4のWebやシステムなど、電子媒体上に保存されているデータのみになります。
Pythonとカメラを使って、紙媒体の情報を読み取るということも可能ですが、個人で精度を高めるのは難しいと思われます。

つまり、Pythonでデータの収集を行う際には「そのデータが電子媒体上に存在しているか」という部分がとても大切になってきます。
データが電子媒体上にない場合は「手書きの情報を、コンピュータを使って電子媒体上に保存する」「OCRを使って画像データ・テキストデータとして保存する」という行為が別途必要になります。

OCRについて詳しく知りたい方はコチラもご覧ください!
「OCR(光学式文字認識)とは?Pythonで文字を認識してみよう!」
https://www.insource.co.jp/python-gakuin/mail-backnumber/vol54.html

2.Pythonでデータ収集を行えるライブラリ「Selenium」について

データが電子媒体上に存在する場合は、Pythonでデータ収集を自動化することが可能です。
「自社システムからcsvファイルを取得したい」「WEB上からデータを取得したい」などの場合には「Selenium」というライブラリが有効です。

「Selenium」を使用すれば、「人間が手で行っているボタン操作」「画面へのデータ入力」などを自動で行うことが可能です。

Seleniumに関しては以下のブログ記事で説明をしております。
「PythonによるWebブラウザ自動操作の基本~Seleniumを活用する」
https://www.insource.co.jp/python-gakuin/mail-backnumber/vol21.html

3.様々な種類のデータに対して処理が行えるライブラリ「Pandas」について

Web上のファイルや、Excelのファイルなど様々な情報が、社内には点在しています。「Pandas」というライブラリを使うことで、様々な情報をひとまとまりに扱うことができます。
「Pandas」で扱えるデータには、CSV・Excelファイル・SQLなどデータベース関係のファイル、JSONファイルのデータなどがあります。

CSVファイルやExcelファイルは、基幹システムからデータが出力される際のフォーマットとして一般的です。JSON(JavaScript Object Notation)ファイルとは「JavaScript」の記法を利用したデータファイルのことを言います。「API」を用いてWEB上からデータを取得する際に出力されるデータとしてよく利用されています。

このように、電子媒体上で保存されているデータの大部分は「Pandas」1つでデータを操ることができるようになります。
また、「Pandas」はデータへの処理も簡単に行うことができます。例えば、データ上の欠損値の補完・重複データの削除・データラベルの変更などが挙げられます。使いこなせるようになれば、データ分析などを行う際に大変強力なツールになります。

4.データを可視化するライブラリ「Matplotlib」について

Pythonでは、整形したデータを可視化する部分までライブラリが用意されています。
「Matplotlib」というライブラリを使用すると、「Pandas」で整形したデータをもとにグラフの作成が行えます。
グラフの種類としては円グラフ・棒グラフ・散布図・3Dデータなど一通りの表示方式が存在し、カラーバリエーションも豊富に存在しています。
graph graph graph

Pandas・Matplotlibについては以下の研修でも扱っています。
「Python学院~データ分析編/統計の基礎とPandasライブラリの活用(1日間)」
https://www.insource.co.jp/bup/python_business_data_analysis.html
「Python学院~AI開発入門研修/機械学習で予測モデルを作る(2日間)」
https://www.insource.co.jp/bup/bup-python-machine-learning.html
「ChatGPT×Pythonプログラミング研修~自動化・データ分析編(5日間)」
https://www.insource.co.jp/bup/bup_python_ai.html

5.まとめ

ここまでの内容をまとめると
①Pythonで扱えるデータは「電子媒体上に保存されているデータ」である
②Pythonを使用することで、Web上やシステム上に保存されているデータからExcelファイルやJSONファイルまで幅広いデータを扱うことができる
③データの収集から可視化までを一貫して行える
ということです。

また、Pythonを使用することで、PDFファイルやWordファイルのデータを抽出してくることも可能です。そのため電子媒体上のデータはほとんど扱うことができます。

「データ収集・分析を行っていきたい!」というお客さまにとって、まず壁になるのが「Python基本文法の理解」「エラー解決への対応方法」になります。
「基本文法も自分が納得を持ちながら学習したい!」「エラー解決を上手に行えるようになり、自分の学習時間を短くしたい」などのご要望がございましたら、弊社のPython学院関連研修を検討ください!

最後までお読みいただき、ありがとうございました!

このメルマガでは今後も、Python学習に関するお役立ち情報、また社内のDX化を主導するための具体的な方法や、弊社や他社様のPython活用の事例など、ビジネスの現場で真に活かせる有益な情報の提供を行ってまいります。

それでは、次回もお楽しみに!

関連研修