Diagonal M

データサイエンス系長期インターンで学んだことなど

【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']