テクノロジー

2024年11月15日

pandasとは

pandasは、Pythonでのデータ分析において広く活用されているツールであり、データの読み込みや加工といった前処理を行う上で欠かすことのできない存在です。

著者プロフィール

IT分野における教育の先駆者として、多くのエンジニアを育成するプログラミングスクールの運営、Web開発やAI研修を行なっています。幅広いレベルの受講生に対して実践的なスキルを提供。生徒の成長を第一に考え、効果的で魅力的な教育プログラムの設計に情熱を注いでいます。

ゴール

  • pandasの役割やSeries、DataFrameの特性について理解する

pandasとは

pandasは、Pythonでのデータ分析において広く活用されているツールであり、データの読み込みや加工といった前処理を行う上で欠かすことのできない存在です。
pandasは、Series(シリーズ)とDataFrame(データフレーム)というデータ型を提供しており、これらを使ってデータに対する処理を行います。

Series

Seriesは1次元のデータで、イメージとしてはNumPyのndarrayの1次元配列のようなものです。
しかし、Seriesはndarrayの1次元配列には無い以下のような特性があります。

  • 番号以外でインデックスを付けることができる
  • オブジェクトそのものに名前をつけることができる
  • 時系列データを扱える

以下は、[10, 20, 30 ,40 ,50]という1次元のデータをSeriesを使って表した場合の例です。
10〜50の値が一列に並び、行ごとに0~4のインデックスが振られます。

インデックス
0 10
1 20
2 30
3 40
4 50

DataFrame

DataFrameは、2次元のデータで、Seriesを寄せ集めたようなデータ構造を成します。
DataFrameもSeriesの箇所で紹介したものと同様、ndarrayの2次元配列には無い特性を持ちます。

以下は、数値、文字列、bool値の3要素を持つデータをDataFrameを使って表した場合の例です。

  0 1 2
0 10 “ten” True
1 20 “twenty” False
2 30 “thirty” True
3 40 “forty” False
4 50 “fifty” False

DataFrameの場合、Seriesの構造に加え、新たに列にもインデックスが振られます。
DataFrameは列ごとにデータ型が決められており、データの計算を容易にしています。
ただし、列内に数値と文字列などが混在していた場合、列のデータ型はオブジェクトとなり数値計算が行えなくなります。
従って、DataFrameを使った計算を行う場合は列内のデータ型を揃える必要があります。

pandasのインポート

pandasを使用するには、初めにインポートしておく必要があります。
pandasをインポートするには、以下のようにコードを記述し、実行します。

import pandas as pd

pandasの基本操作

ここでは、pandasを使ってSeriesとDataFrameを作成してみましょう。
pandasをインポートしてから以降のコードを実行してください。

Seriesの作成

Seriesを作成するには、Seriesという関数を使用します。
ここでは、[10, 20, 30, 40, 50]というSeriesを作成してみます。

row = pd.Series([10, 20, 30, 40, 50])
row

[実行結果]

0    10
1    20
2    30
3    40
4    50
dtype: int64

データの値がすべて整数ですので、データ型は自動でint64が割り当てられます。

DataFrameの作成

DataFrameを作成するには、DataFrameという関数を使用します。
ここでは、数値と文字列、bool値の3要素からなるデータを持つDataFrameを作成してみます。

df = pd.DataFrame([[10, "ten", True],
                   [20, "twenty", False],
                   [30, "thirty", True],
                   [40, "forty", False],
                   [50, "fifty", False]])
df

[実行結果]

Image from Gyazo

上記の場合、列ごとのデータ型は、1列目がint64、2列目がobject, 3列目がboolとなります。

まとめ

  • データ分析の前処理などにおいて、pandasは多くの現場で幅広く活用されているツールである。
  • SeriesとDataFrameはNumPyのndarrayに近い構造をしているが、独自のインデックスを指定したり、時系列データを扱えるなどndarrayには無い特性を有する。

公式ドキュメント・参考情報

1. pandas
2. Series
3. DataFrame

ディープロで学んでみませんか?