Pandasで使うSeriesのスライスによるインデックス参照

記事内に広告が含まれています。

PythonのPandasモジュールで作られるSeriesにも通常のリストと同様にスライスによるインデックス参照が行えます。

スライスによるインデックス参照はインデックスラベルで行う方法と整数の位置インデックスで行う2つの方法があります。

PandasのSeriesのスライスによるインデックス参照

PandasのSeriesのスライスによるインデックス参照にはインデックスラベルで行う方法と整数の位置インデックスで行う2つの方法があります。

インデックスラベルで行うインデックス参照

PandasのSeriesのインデックスラベルでスライスによるインデックス参照が行えます。

リストなどの通常のスライスによるインデックス参照と同様に
[始点のインデックスラベル:終点のインデックスラベル]
で行います

import pandas as pd

taro = { "英語":92, "数学":75, "国語":80, "社会":63, "理科":78 }
series_taro = pd.Series( taro )
print( series_taro )

#始点のインデックスラベル:終点のインデックスラベル
print( series_taro[ "数学":"社会" ] ) 

上記のコードの実行結果は

英語    92
数学    75
国語    80
社会    63
理科    78
dtype: int64
数学    75
国語    80
社会    63
dtype: int64

となりインデックスラベル「数学」から「社会」までが選択されています。

注意点は
通常のスライス参照と異なり終点のインデックスラベルの値が含まれる
ということです。

参考に通常のリスト(list)のスライス参照は

l = [0,1,2,3,4,5,6]
print( l[ 1:3 ])

[1, 2]

と終点のインデックスの値は含まれません。

整数の位置インデックスで行うインデックス参照

PythonのPandasのSeriesは整数の位置インデックスでもスライスを使ったインデックス参照が行えます。

import pandas as pd

taro = { "英語":92, "数学":75, "国語":80, "社会":63, "理科":78 }
series_taro = pd.Series( taro )
print( series_taro )

print( series_taro[ 1:4 ] )

上記のコードの実行結果は

英語    92
数学    75
国語    80
社会    63
理科    78
dtype: int64
数学    75
国語    80
社会    63
dtype: int64

となります。

整数の位置インデックスでのスライスの場合はリスト(list)の場合と同様に終点のインデックスの値は含まれません。

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