【宣伝】pandasのオススメの本の紹介
このブログでも詳しくpandasの使い方を紹介していますが、体系的に学びたい方や、本の方が良いという方には以下の本をオススメしておきます。
Series(シリーズ)とは
pandasを効率良く理解していくために、2つのデータ構造「Series(シリーズ)」と「DataFrame(データフレーム)」を早めに理解すると良い。この記事では「Series」について解説する。
「DataFrame」については次の記事で解説した。
SeriesとはPythonの1次元のリスト、他のプログラミング言語で言うと1次元の配列のようなものである。
![](https://mathnyumon.com/wp-content/uploads/2024/01/成績-1024x288.png)
Pythonの本や、この記事を読むだけで終わるより、実際に実験コードをグーグルコラボなどに書いて色々実験すると良い。以下、基本的なSeriesを扱うコードを紹介する。
Seriesを扱うコード
Seriesをコードで作成する
上の画像で示したSeriesを作成するコードは下のようになる。
import pandas as pd # ※以降のコードでは省略する
scores = pd.Series(["A", "B", "A", "C", "D", "A", "A", "B"])
scores
![](https://mathnyumon.com/wp-content/uploads/2024/01/Screenshot-2024-01-11-at-9.29.07-1024x511.png)
pandasのSeriesコンストラクタにPythonのリストを渡してSeriesを作成する。
Seriesの挙動について何か確認する時、この方法で手早くテスト用のSeriesを作成すると良い。
Seriesのdtype(データ型)を確認する
scores = pd.Series(["A", "B", "A", "C", "D", "A", "A", "B"])
scores.dtype
![](https://mathnyumon.com/wp-content/uploads/2024/01/Screenshot-2024-01-11-at-9.37.16-1024x195.png)
Series型の変数.dtype と書くことでSeriesのデータ型を確認することができる。
上の例ではdtype(‘O’)という結果が出ているが、これはobject型を意味しており、ほぼ文字列のための型だと思って差し支えない。
次のようにSeriesコンストラクタに整数のリストを与えればdtypeも変わる。
points = pd.Series([10, 9, 8, 9, 5])
points.dtype
![](https://mathnyumon.com/wp-content/uploads/2024/01/Screenshot-2024-01-11-at-9.42.06.png)
dtypeはこまめに確認すると思わぬバグを防ぐことができる。
Seriesのindex
Seriesを作成した際、デフォルトでは0から始まる連番がindexとなる。
names = pd.Series(["Key", "Naoki", "Kyoko"])
names.index # indexを出力
![](https://mathnyumon.com/wp-content/uploads/2024/01/シリーズインデックス-1024x342.png)
![シリーズインデックス](https://mathnyumon.com/wp-content/uploads/2024/01/シリーズインデックス2.png)
Series作成時、indexを指定することで任意のindexにすることができる。
names = pd.Series(["Key", "Naoki", "Kyoko"], index=["id_1", "id_2", "id_3"])
names
![](https://mathnyumon.com/wp-content/uploads/2024/01/インデックス変更-1024x246.png)
Seriesの要素にアクセスする
Seriesの各要素には、Pythonのリスト同様0から始まる連番もしくは、先ほど指定したindexの値でアクセスができる。
![](https://mathnyumon.com/wp-content/uploads/2024/01/シリーズ要素アクセス-1024x398.png)
Python入門【pandas編】
このブログでは「Python入門【pandas編】」の記事群を整備中です。興味のある方は下のリンク先をチェックしてみてください。
コメント