pandasの2大データ構造の1つ目「Series」

アイキャッチ「シリーズ」 pandas

【宣伝】pandasのオススメの本の紹介

このブログでも詳しくpandasの使い方を紹介していますが、体系的に学びたい方や、本の方が良いという方には以下の本をオススメしておきます。

pandasライブラリ活用入門[第2版]

Series(シリーズ)とは

pandasを効率良く理解していくために、2つのデータ構造「Series(シリーズ)」と「DataFrame(データフレーム)」を早めに理解すると良い。この記事では「Series」について解説する。

「DataFrame」については次の記事で解説した。

SeriesとはPythonの1次元のリスト、他のプログラミング言語で言うと1次元の配列のようなものである。

Pythonの本や、この記事を読むだけで終わるより、実際に実験コードをグーグルコラボなどに書いて色々実験すると良い。以下、基本的なSeriesを扱うコードを紹介する。

Seriesを扱うコード

Seriesをコードで作成する

上の画像で示したSeriesを作成するコードは下のようになる。

import pandas as pd # ※以降のコードでは省略する

scores = pd.Series(["A", "B", "A", "C", "D", "A", "A", "B"])
scores

pandasのSeriesコンストラクタにPythonのリストを渡してSeriesを作成する。
Seriesの挙動について何か確認する時、この方法で手早くテスト用のSeriesを作成すると良い。

Seriesのdtype(データ型)を確認する

scores = pd.Series(["A", "B", "A", "C", "D", "A", "A", "B"])
scores.dtype

Series型の変数.dtype と書くことでSeriesのデータ型を確認することができる。

上の例ではdtype(‘O’)という結果が出ているが、これはobject型を意味しており、ほぼ文字列のための型だと思って差し支えない。

次のようにSeriesコンストラクタに整数のリストを与えればdtypeも変わる。

points = pd.Series([10, 9, 8, 9, 5])
points.dtype

dtypeはこまめに確認すると思わぬバグを防ぐことができる。

Seriesのindex

Seriesを作成した際、デフォルトでは0から始まる連番がindexとなる。

names = pd.Series(["Key", "Naoki", "Kyoko"])
names.index # indexを出力
シリーズインデックス

Series作成時、indexを指定することで任意のindexにすることができる。

names = pd.Series(["Key", "Naoki", "Kyoko"], index=["id_1", "id_2", "id_3"])
names

Seriesの要素にアクセスする

Seriesの各要素には、Pythonのリスト同様0から始まる連番もしくは、先ほど指定したindexの値でアクセスができる。

Python入門【pandas編】

このブログでは「Python入門【pandas編】」の記事群を整備中です。興味のある方は下のリンク先をチェックしてみてください。

コメント

タイトルとURLをコピーしました