こんにちは、JS2IIUです。
Pandasを使いこなす最初の入り口がこのSeriesです。Seriesをよく理解しておくと、この先パワフルなPandasの機能を使いこなしていくことが容易になります。この記事では、図を使って説明しますので、どんな構造なのかをしっかり把握して、活用していきましょう!今回もよろしくお願いします。
はじめに
PandasのSeriesは、Pythonでデータを扱う際に基盤となる非常に重要なデータ構造です。この記事では、Seriesの基本構造や要素について初心者向けに解説します。また、Seriesを作成する方法や、その要素にアクセスする方法についてのサンプルコードも紹介します。最後に、Seriesの柔軟な活用法についても触れていきます。
Seriesの基本構造と要素
Seriesは、1次元のデータを格納するための構造で、NumPyの配列に似ていますが、以下の点で拡張されています。
- index: 各データに関連付けられるラベル。NumPyの配列ではインデックスが整数のみですが、PandasのSeriesでは任意のラベルを設定可能です。
- values: 実際のデータを保持する部分で、NumPyの
ndarray形式で格納されています。
サンプルコード:Seriesを作成して構造を確認する
以下のコードは、Seriesを作成し、その構造を確認する例です。
import pandas as pd
# Seriesを作成
data = [10, 20, 30, 40]
series = pd.Series(data, index=['A', 'B', 'C', 'D'])
# Seriesの構造を表示
print("Seriesの構造を確認")
print("Index:", series.index)
print("Values:", series.values)
print("Series本体:")
print(series)
実行結果
Seriesの構造を確認
Index: Index(['A', 'B', 'C', 'D'], dtype='object')
Values: [10 20 30 40]
Series本体:
A 10
B 20
C 30
D 40
dtype: int64
- indexには
A,B,C,Dというラベルが設定されています。 - valuesには数値のデータ
10,20,30,40が格納されています。 - Series本体は、ラベルとデータが対応付けられた形で表示されます。
indexとvaluesのデータ型
Seriesのindexとvaluesについて、データ型を確認してみましょう。
print("Indexのデータ型:", type(series.index))
print("Valuesのデータ型:", type(series.values))
実行結果
Indexのデータ型: <class 'pandas.core.indexes.base.Index'>
Valuesのデータ型: <class 'numpy.ndarray'>
- indexは、Pandasの
Indexオブジェクトとして格納され、柔軟に操作可能です。 - valuesは、NumPyの配列形式で格納されており、高速な計算が可能です。
Seriesの要素へのアクセス方法
Seriesのデータは、NumPy配列のようにインデックスを使用してアクセスできます。また、ラベルを使用して要素にアクセスすることも可能です。
サンプルコード:要素へのアクセス
# 要素にアクセス
print("ラベルを指定してアクセス:", series['B'])
print("整数インデックスでアクセス:", series[1])
# スライスでアクセス
print("スライスでアクセス:")
print(series['B':'D']) # ラベルでスライス
print(series[1:3]) # 整数インデックスでスライス
実行結果
ラベルを指定してアクセス: 20
整数インデックスでアクセス: 20
スライスでアクセス:
B 20
C 30
D 40
dtype: int64
B 20
C 30
dtype: int64
ラベルや整数インデックスを使用することで、柔軟にデータを取り出すことができます。
まとめ
PandasのSeriesは、1次元のデータを扱う際に非常に便利なデータ構造です。
- index: 任意のラベルを指定でき、柔軟なデータ管理が可能です。
- values: NumPyの配列として格納されており、高速な計算が可能です。
- indexを指定しない場合: デフォルトで0から始まる整数がインデックスとして割り当てられます。
要素へのアクセス方法もNumPy配列と似ており、ラベルや整数インデックスで簡単に操作できます。これらの特徴を理解しておくと、Seriesを活用したデータ分析がスムーズになります。
参考
- pandas – Python Data Analysis Library
- 10 minutes to pandas — pandas 2.2.3 documentation
- Pandas Basics – Learn Python – Free Interactive Python Tutorial
少しだけPRです。
Pandasについて詳しく知りたいかた、もっと使いこなしたい方におすすめの本です。数年前に購入しましたが、今も手元に置いて時々見返しています。「pandasクックブック Pythonによるデータ処理のレシピ」Theodore Petrou著、黒川利明訳。
最後まで読んでいただきありがとうございます。73

