これまでのステップでPythonの基礎をしっかり学んできましたね!Step 7では、いよいよPythonをデータ分析の強力なツールとして活用する方法を学びます。その中心となるのがPandasライブラリです。
Pandasは、Pythonでデータ操作や分析を行うための非常に人気のあるライブラリです。表形式のデータ(Excelのシートやデータベースのテーブルのようなデータ)を効率的に扱うためのデータ構造と機能を提供します。これを使えば、データの読み込み、クリーニング、変換、集計などが簡単に行えるようになります。さあ、Pandasの世界へ飛び込みましょう!
1. Pandasのインストール
まず、Pandasを使うためにはインストールが必要です。Pythonのパッケージ管理ツールであるpip
を使って簡単にインストールできます。ターミナル(Windowsの場合はコマンドプロンプト)を開いて、以下のコマンドを実行してください。
Jupyter Notebookを使っている場合は、ノートブックのセルに!
をつけて実行することもできます。
ヒント:
Anacondaディストリビューションを利用している場合は、Pandasは通常、最初からインストールされています。もしインストールされていない場合や、特定のバージョンが必要な場合はconda install pandas
コマンドでインストールできます。
インストールが完了したら、PythonスクリプトやJupyter Notebookでimport pandas as pd
と記述してPandasを読み込むのが一般的です。pd
という別名を使うのが慣習となっています。
2. Pandasの主要なデータ構造
Pandasには主に2つのデータ構造があります。これらを理解することがPandasを使いこなす第一歩です。
2.1. Series (シリーズ)
Seriesは、1次元のラベル付き配列です。イメージとしては、インデックス(ラベル)が付いたリストや、Excelの1列のようなものです。同じデータ型のデータを保持します。
リストからSeriesを作成する例:
出力結果:
a 10
b 20
c 30
d 40
e 50
dtype: int64
インデックスを指定しない場合、0から始まる整数のインデックスが自動的に割り当てられます。
2.2. DataFrame (データフレーム)
DataFrameは、2次元のラベル付きデータ構造で、異なる型の列を持つことができます。ExcelのシートやSQLのテーブルに最も近い概念です。データ分析で最もよく使われるデータ構造です。
辞書からDataFrameを作成する例:
出力結果:
名前 年齢 部署
0 田中 25 営業
1 佐藤 32 開発
2 鈴木 41 人事
3 高橋 28 営業
DataFrameは、行と列の両方にインデックス(ラベル)を持ちます。上記の例では、行インデックスは自動的に0から割り当てられています。
3. データの読み込み
データ分析では、外部ファイル(CSV、Excelなど)からデータを読み込むことが頻繁にあります。Pandasはこれらの操作を簡単に行うための関数を提供しています。
特にCSV (Comma-Separated Values) ファイルは、データ交換によく使われる形式です。pd.read_csv()
関数を使ってCSVファイルをDataFrameに読み込むことができます。
例として、data.csv
というファイルがあるとします。
注意:
read_csv()
には多くのオプションがあります。例えば、区切り文字がカンマでない場合(sep='\t'
など)、ヘッダーがない場合(header=None
)、特定の列だけを読み込む場合(usecols=['列名1', '列名2']
)など、状況に応じて指定できます。詳しくは公式ドキュメントを参照してください。
同様に、Excelファイルを読み込むにはpd.read_excel()
関数を使用します。(別途openpyxl
などのライブラリが必要になる場合があります: pip install openpyxl
)
4. 基本的なデータ操作
DataFrameを読み込んだら、次はその中身を確認し、必要な形に加工していきます。Pandasにはそのための豊富な機能があります。
4.1. データの選択 (行・列)
特定の列を選択するには、列名を指定します。
特定の行を選択するには、loc
(ラベルベース) や iloc
(整数インデックスベース) を使います。
4.2. フィルタリング (条件による抽出)
特定の条件を満たす行だけを抽出することも簡単です。
ヒント:
複数の条件を組み合わせる際は、各条件を()
で囲むことを忘れないでください。
4.3. 欠損値の扱い
実際のデータには、値が入っていない「欠損値」(Pandasでは通常 NaN
: Not a Number で表現される)が含まれることがよくあります。
欠損値をどのように扱うか(削除するか、何らかの値で補完するか)は、データや分析の目的に応じて慎重に判断する必要があります。
4.4. 基本的な集計
Pandasを使えば、データの基本的な統計量を簡単に計算できます。
5. まとめ
今回は、Pandasを使ったデータ分析の入門として、基本的な概念と操作方法を学びました。
- Pandasのインストール方法
- 主要なデータ構造: Series と DataFrame
- CSVファイルなどからのデータ読み込み (
read_csv
) - データの選択 (列選択,
loc
,iloc
) - 条件によるフィルタリング
- 欠損値の扱い (
isnull
,dropna
,fillna
) - 基本的な集計 (
describe
,mean
,sum
,max
,groupby
)
Pandasには、ここで紹介した以外にも非常に多くの強力な機能があります。データの結合、変形、時系列データの扱いなど、さらに高度な分析が可能です。
次のステップでは、同じくデータ分析でよく使われるMatplotlibライブラリを使って、データを視覚化する方法を学びます。 グラフにすることで、データの傾向やパターンがより明確になりますよ!
身の回りの簡単なデータ(例えば、毎日の勉強時間や読書記録など)をCSVファイルに記録し、Pandasで読み込んで平均値や合計値を計算してみましょう!
6. 参考情報
より詳しく学びたい方は、以下の公式ドキュメントを参照することをお勧めします。
- Pandas 公式ドキュメント: https://pandas.pydata.org/docs/
- 10 Minutes to pandas (Pandas入門): https://pandas.pydata.org/docs/user_guide/10min.html
- pandas.read_csv ドキュメント: https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html
- Indexing and selecting data (loc/ilocなど): https://pandas.pydata.org/docs/user_guide/indexing.html
- Working with missing data: https://pandas.pydata.org/docs/user_guide/missing_data.html
本ブログ記事で使用しているCSSフレームワーク:
- Bulma: https://bulma.io/ (Documentation)