【Python】pandas基礎vol.2 ~Series~
| pandasのデータ構造(Series)
pandasでよく使われるデータ構造として1次元のSeries、2次元のDataFrameがある。
| Series(シリーズ)
Seriesはリストのような順序を持ったデータ列と軸ラベルを格納するオブジェクトである。
軸ラベルは、データが何かを示す見出しで、軸ラベルはインデックスともいい、index
というプロパティで取得できる。
<リストをseriesに変換する>
import pandas as pd sample_list = ['a', 'b', 'c', 'd'] series = pd.Series(sample_list) print(series) # 0 a # 1 b # 2 c # 3 d # dtype: object
pd.Series(リスト)
を利用してSeriesを作成した。
a b c d
の部分がSeriesの値の部分、0 1 2 3
の部分が軸ラベルと呼ばれるデータラベル。
| 軸ラベルをキーに値を取得
Seriesの軸ラベルの初期値は0から始まる連番が設定されています。
単一の値を参照するときは軸ラベルをキーに指定する。
<seriesの2番目の値(軸ラベル1)の値を取り出す>
series_1 = series[1] series_1 # 'b'
Seriesの軸ラベルはリストのインデックスや辞書のキーと同じように扱える。
| Seriesの軸ラベルを変更
series.indexにリストを代入することによって、軸ラベルを変更できる。
<軸ラベルの変更>
series.index = ['i1', 'i2', 'i3', 'i4'] series['i2'] # 'b'
| Seriesの値と軸ラベルを取得する
Seriesに格納された値(Numpyの1次元配列)の一覧はSeries.values
で取得できる。また、軸ラベルの一覧はSeries.index.values
を使って取得できる。
<値と軸ラベルを取得>
s_values = series.values s_indexes = series.index.values print(s_values) print(s_indexes) # ['a' 'b' 'c' 'd'] # ['i1' 'i2' 'i3' 'i4']
| Seriesの値をリストとして取得する
series.index
で取得できるものはリストではありません。
<seriesの値をリストとして取得>
s_values_list = series.values.tolist()
s_values_list
# ['a', 'b', 'c', 'd']