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)の場合と同様に終点のインデックスの値は含まれません。