1分で分かる!pandasとは?
ことりん君、突然だけどpandas (パンダス)って知ってる??
もちろん知っているよ!パンダの複数形だよね?パンダさん、たくさん!!
英語としては正解なんだけど、ジャバード先生が聞きたかったのはちょっと違う答えなんだよ。
あれ?そうなの?
ITエンジニアに「pandasってなに?」って聞くと、ほとんどのエンジニアは「Pythonのライブラリ」って答えるはず。
別にボケたわけじゃないんだけど、なんか恥ずかしいじゃん…。なんでそんなにアニマルチックな名前がついたの?
pandasは「panel data s」を略した言葉だよ。パネルデータっていうのはざっくりいうと時系列でまとめられたデータのことを指すんだ。たとえば、「企業の直近10年分の売上データ」とか「アンケートの回答データ」なんかは、代表的なパネルデータだよ。
ふむふむ。パネルデータは、データの種類の1つなんだね。pandasはそのパネルデータと関係があるってことなのかな?
そうだね!pandasは、Pythonでデータ分析を行うためのライブラリなんだ。最近注目されているAIや機械学習を効率よく実施するためには、とっても重要なものなんだよ。
なるほど。うーん。でも、いまいちイメージが湧かないなぁ…。pandasはデータ分析するためのライブラリってことはわかったんだけど、pandasを使うと何が嬉しいの?もう少し具体的に教えてもらえるかな?
pandasのありがたみを知るためには、まずざっくり機械学習の流れを知っておくといいよ。機械学習は、こんな感じのフローなんだ。
1.データを集める
2.データをきれいにする
3.学習モデルを作る
4.学習モデルを評価する
ふむふむ。まずはデータを集めるところからスタートするんだね。
そのとおり。でもさ、データって一言でいってもいろいろあるよね。CSVファイルかもしれないし、データベースかもしれない。データベースだってSQL ServerだったりMySQLだったり、いろいろあるわけだ。
Database、SQL Server、MySQL
あ、たしかにそうだね!分析に使いたいデータが、1つとは限らないしね!
そうなんだ!でも、分析するときはデータをひとまとめで扱う必要があるよね。pandasは「データフレーム」という考え方があって、さっき話したようないろんなデータを、ひとまとめにすることができるんだ。
なるほど。pandasを使えばデータを共通化できるってことか。それは確かに便利な機能だね!
そういうこと!もう1つ重要な機能は、データの加工に強いことなんだ。さきほどお話ししたデータを綺麗にすることができるんだ。
データの加工ってなに?
データにも「綺麗なデータ」と「汚れたデータ」っていうのがあるんだ。少し言い方を変えると「整ったデータ」と「整っていないデータ」ともいえるね。
分析対象のデータなんて、1個1個のデータがたくさん集まっていればいいんじゃないの??
それではだめなんだ。いわゆる「汚れたデータ」で分析しちゃうと、誤った結果が出てしまうことがあるんだよ。
どういうこと??
データっていうのは、さまざまな理由で「欠損」という状態が発生するんだ。欠損っていうのは、データが存在しないということだね。たとえば、アンケートの中でユーザーがある項目だけ回答しなかった場合などは、その項目が欠損値となるんだ。
あぁ、たしかにデータの中の一部分の値が存在しないっていうのはよくありそうだね。
そうそう。でも、機械学習でそういったデータをベースにしちゃうと、誤った学習をさせてしまうことになるよね。だから、欠損値に対して「データを削除する」とは「データを埋める」という作業が必要なんだ。
欠損値が存在しない状態にしようってことだね。
そういうことだね。その「欠損値が存在しない状態」にするためには、pandasが欠かせないんだよ。pandasには、欠損値を削除したり、穴埋めする機能があるから、それらを活用してデータをキレイにしてあげるんだ。
ふむふむ。確かに手作業で全部対応するのは時間かかりそうだもんね。
そうだね!そのほかにもpandasはデータを集計したり、可視化(グラフ表示)する機能もあるんだ。Pythonエンジニアを目指すのであれば、知っておきたいライブラリの1つなんだ。
ジャバード先生ありがとう!pandasについてよくわかったよ!
pandasとは?採用に役立つ基礎知識
pandasとは
pandasは、Pythonの代表的なライブラリの1つです。pandasを使うと、データ分析を簡単に行うことができます。このpandasはオープンソースソフトウェアであるため、誰もが無料で利用することができます。
pandasを使うエンジニア
pandasを使うエンジニアとしては、データサイエンティストや機械学習エンジニアなどが挙げられます。
pandasを使うエンジニアの特徴と在籍業界
pandasを使うエンジニアは、ロジカルに物事を考えることができ、データから何らかの意味を見出すことが好きという特徴があります。本格的にpandasを扱うエンジニアは、日々大量のデータと向き合うことになります。
そのため、前述したような性格の持ち主であれば、「pandas使い」になれる素質があるといえるでしょう。
なお、pandasを使うエンジニアが在籍している業界としては、幅広くあります。業界というよりも、データ分析やAIに取り組んでいる企業に多く在籍しています。
採用する時に知っておくとよいこと
Pythonの代表的なライブラリ
「Pythonエンジニア」といっても、様々なエンジニアがいます。Pythonの文法を理解したエンジニアもPythonエンジニアですが、今回紹介したpandasやその他の代表的なライブラリを使いこなすエンジニアもPythonエンジニアです。
特にPythonの場合は、強力なライブラリが複数あります。pandasのほかにも数学処理のNumpy、画像処理のOpenCVなどです。このようなライブラリの経験を確認すると、これまで応募者がどのような業務を行ってきて、どのようなスキルを有しているかがわかりやすいでしょう。
求人のポイント
求人を作成する時は、下記の内容を求人に入れるとよいです。
1システム(サービス)の詳細
※特にそのシステム(サービス)をなぜ作っているのかを熱量をもって記載する。
2開発環境
3現在のエンジニア組織の体制
4現行システムの課題と募集の背景
5求められる業務と期待値
6エンジニアとしてのスキルアップ支援制度の有無と詳細
7エンジニアチーム内での相互成長のための仕組み(勉強会やLT会など)の有無と詳細
8選考フロー
9待遇
10キャリアパス
pandasの豆知識
pandas関連の資格
pandas関連の資格としては、以下のようなものがあります。
Python3 エンジニア認定データ分析試験
Python3 エンジニア認定データ分析試験は、一般社団法人Pythonエンジニア育成推進協会が主催する資格試験です。この試験では、Pythonの基礎知識をはじめ、Pythonのライブラリに関する知識が問われます。
pandas関連のイベント
pandas関連のイベントとしては、以下のようなものがあります。
PyCon JP
PyConJPは日本国内最大級のPythonに関するカンファレンスであり、一般社団法人PyCon JP Associationが主催しています。PyCon JP 2021は、2日間でさまざまなセッションが行われました。
pandasに関するトピックス
pandasを学習する1つの方法として、各地の大学が作成したテキストを利用するという方法があります。
たとえば、東京大学や京都大学は、プログラミング関連の講義で使用するPythonのテキストを無料で公開しています。このテキストでは、今回のテーマであるpandasについても解説されています。
参考: