第5章 pandas を使ったデータ 分析
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
この章では、Pythonのデータ分析ライブラリであるpandas、あるいは私が好んで言うところの「超能力を備えたPythonベースのスプレッドシート」について紹介する。pandasライブラリを使えば、Excelでは特に手間がかかる作業も、より簡単かつ迅速に、そしてエラーを減らして行えるようになる。こうした作業には、外部ソースからのデータセットの取得や、統計処理、時系列分析、インタラクティブなグラフの作成などが含まれる。 ExcelのPower Queryに慣れているなら、pandasは同様の領域をカバーしているが、より柔軟性が高い。pandasの最も重要な「超能力」は、ベクトル化とデータの整合性確保だ。前の章でNumPy配列について見たように、ベクトル化により簡潔な配列ベースのコードが書けるようになる一方、データの 整合性確保により、複数の データセットを扱う際にデータの不一致が生じないよう保証される。
この章では、 によるデータ分析の全行程を網羅する。データのクリーニングと準備から始まり、集計、記述統計、可視化を通じて大規模なデータセットから意味を導き出す方法を解説する。章の最後には、pandasを用いたデータのインポートとエクスポートについても見ていく。まずは導入部から始めよう。pandasの主要なデータ構造であるDataFrameとSeriesの紹介から始めよう!
DataFrameとSeries
DataFrame()とSeriesは、pandasの中核となるデータ構造だ。このセクションでは、DataFrameの主要な構成要素であるインデックス、列、データについて紹介する。DataFrameは2次元のNumPy配列に似ているが、列と行のラベルが付いており、各列は異なるデータ型を保持できる。DataFrameから単一の列または行を抽出すると、1次元のSeriesが得られる。 繰り返しになるが、Seriesはラベル付きの1次元NumPy配列に類似性がある。図5-1のDataFrameの構造を見れば、DataFrameがPythonベースのスプレッドシートになることは容易に想像できるだろう。
図5-1. pandasのSeriesとDataFrame
スプレッドシートからDataFrameへの移行がいかに簡単かを示すために、図5-2の次のExcel表を考えてみよう。これはオンラインコースの受講生とそのスコアを示している。対応するファイルstudents.xlsxは、付属リポジトリのxlフォルダ内にある。
図5-2. students .xlsx
このExcel表をPythonで利用できるようにするには、まずpandasをインポートし、そのread_excel関数を使用する。これによりDataFrameが返される:
In[1]:importpandasas ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access