たなブログ 教養を高めて生涯資産を増やすブログ(`・ω・´)

【Python】PandasとNumpyは何が違うのか?両者の違いをわかりやすく解説します

PR Pythonを学ぶ

こんにちは、たなです。

「PandasとNumpyってよく聞くけど、具体的に何が違うの?」
pythonを学習し始めると、こんな疑問を持つ人も多いはず。

そこで今回は「PandasとNumpyの違い」についてわかりやすく解説していきたいと思います。

「どっちも学んだ方が良さそうだけど、今一つ違いがわからない」「pandasとnumpyを学ぶと何に使えるのか」といった疑問にも答えていきます。AIやデータサイエンス関係の勉強を始めたばかりの人も参考にしてみてください。

本記事の内容

  • pythonライブラリ”pandas”と”numpy”の違い
  • AIとデータサイエンスとの関係性

僕のブログでは【完全ガイド】pythonの学習サイトをレベル別に紹介!【基礎から機械学習・人工知能までのロードマップ】という記事も公開しています。より高みを目指したい人は参考にしてみてください。

pythonの学習ロードマップへ

Pythonライブラリ「pandas」の概要と目的を知る


まずはpandasから見ていきます。データサイエンティストを目指している人、必見です。

pandasの目的は「データフレーム化」

pandasの大きな役割の一つとしてデータフレーム化があげられます。
これは何かというと、Excelファイルやcsvファイルといった既存ファイルや、SQLのようなデータベースを読み込み、処理しやすいように「データフレーム」として扱うことを意味します。

実際に扱ったことがない人はイメージしにくいかと思いますが、すごく簡単に言ってしまうと「Excelを操作する感覚でデータを扱える」ということです。実務でExcelやcsvファイルを使う場合にも、とても重宝します。

つまり、実務でよく使うデータをそのままpythonで扱えるので、pandasさえわかってしまえばそのまま実務に活かすことも可能ということです。

ただ、どんなデータ形式でもOKというわけではなく、整然データに代表されるようなテーブルデータ形式で保存しておく必要があります。「整然データ」について知りたい方は整然データ(Tidy Data)とは何か?データ分析に必須の「型」を解説【データ分析力が上がる】の記事を見てください。

pandasは「データサイエンス向き」

これを踏まえた上で言えることは、pandasの知識はデータサイエンス領域で活かすことが出来るということです。

なぜなら、データサイエンスの本質が「データ分析を通じた顧客課題の解決」である以上、様々なデータを読み込み分析し、必要に応じて可視化出来るpandasと相性が良いからです。本格的に可視化する場合は、別途「matplotlibrary」や「seaborn」を使う必要がありますが。

Kaggleに代表されるデータ分析コンペでも、pandasを使ったデータ読み込みや可視化はよく使うことがあるので、自分の興味がデータ分析やデータの可視化、そしてデータサイエンスにある方は「pandas」から勉強した方が効率的かと思います。

Pythonライブラリ「numpy」の概要と目的を知る


次にnumpyについて見ていきます。AIエンジニアを目指している人は必見です。

numpyの目的は「処理の高速化」

numpyの主な役割の一つとして計算処理の高速化があげられます。

そもそもnumpyというのは、配列計算を高速にすることが出来る機能を持ったライブラリです。pythonの標準ライブラリにも「リスト」というものがありますが、numpyを使うことでコードがシンプルかつスピーディーになるという特徴を持っているので、numpyの使用が推奨されます。

この点について【Python Coding】Numpyの計算処理スピードを検証という記事で紹介しているので、興味ある方は読んでみてください。

結局、numpyというのは大量のデータを使う時に役立つツールなのです。ビッグデータを扱うときは計算スピードが非常に重要となり、そのためにnumpyが活きるということですね。

numpyは「AIモデル構築向き」

先ほどのpandasはデータサイエンスと相性が良かったですが、numpyはAIモデルの構築と相性が良いです。

なぜなら、あるタスクを解決するために構築されたAIモデルは、ビッグデータを使って学習させる必要があるためです。

もう少し詳しく解説すると、AIモデルの内部では「入力データ」と「パラメータ」による並列計算が人間には不可能なレベルで大量に繰り返し計算され、より良い予測結果を得られるように「学習」しています。そのため、少しでも高速に計算出来るnumpyの力が必要になるのです。

JDLAが主催するE資格の試験でも、numpyの実装力について頻繁に問われるため、AI実装力をつける観点からもnumpyとの関連性の高さがわかります。

ちなみに、E資格ではAIモデルを「ゼロ」から実装出来るかを問われますが、実務上はTensorflowやPyTorchに代表される「深層学習ライブラリ」を用いて実装することが一般的です。AIエンジニアの登竜門ともいえるE資格については【合格体験記】AIエンジニアを目指すには「E資格」がおすすめ!試験概要や難易度をわかりやすく解説しますで紹介しています。

まとめ:PandasとNumpyはどちらも使えた方がいいライブラリ!ただその違いや目的は知っておこう


今回はpythonの「pandas」と「numpy」の違いについて紹介してきました。

ここで紹介した内容は、僕が実際にpython初心者からE資格を取得する過程で感じた経験をもとに紹介しているので、実際にはこれ以外の使い方もあるかと思います。

pythonライブラリのpandasやnumpyの「違い」や「何に使えるのか」を教えてくれる情報は意外と少ないので、初心者の方や違いがわからず悩まれている方は是非参考にしてみてください。

冒頭でも紹介しましたが、pythonの学習方法を【完全ガイド】pythonの学習サイトをレベル別に紹介!【基礎から機械学習・人工知能までのロードマップ】でまとめています。良ければあわせて読んでみてください。

良いpythonライフを。