テクノロジー
2024年11月15日pandasとは
pandasは、Pythonでのデータ分析において広く活用されているツールであり、データの読み込みや加工といった前処理を行う上で欠かすことのできない存在です。
目次
著者プロフィール
ゴール
pandasとは
Series
DataFrame
pandasのインポート
pandasの基本操作
Seriesの作成
DataFrameの作成
まとめ
公式ドキュメント・参考情報
著者プロフィール
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
[実行結果]
上記の場合、列ごとのデータ型は、1列目がint64
、2列目がobject
, 3列目がbool
となります。
まとめ
- データ分析の前処理などにおいて、pandasは多くの現場で幅広く活用されているツールである。
- SeriesとDataFrameはNumPyのndarrayに近い構造をしているが、独自のインデックスを指定したり、時系列データを扱えるなどndarrayには無い特性を有する。