pandasのSeriesの概要と生成方法

pandasにはSeriesDataFrameという2つのデータ構造があり、そのうちSeriesは1次元配列に似ている。

インデックスは0から始まる整数だけでなく、任意の文字列にもできるので Pythonのディクショナリ (他の言語でいうと連想配列とかハッシュマップとか)にも似ているが、 SeriesはPythoのリストと同様に順序を保存する点がディクショナリとは異なる。

pandasのSeriesは pd.Series を使ってPythonのリストから簡単に生成できる。

import pandas as pd

sr = pd.Series([10, 20, 40])

print(sr)
# 出力結果
# 0    10
# 1    20
# 2    40
# dtype: int64

nan = float("nan")

sr = pd.Series([0.5, 0.8, nan])

print(sr)
# 出力結果
# 0    0.5
# 1    0.8
# 2    NaN
# dtype: float64

Seriesをprintで出力させると、PythonのリストやNumPyのndarrayとはだいぶ違うフォーマットで表示される。

インデックスが0から始まる整数以外にすることもできる。

sr = pd.Series([0.5, 0.8, nan], index=['foo', 'bar', 'baz'])
print(sr)
# 出力結果
# foo    0.5
# bar    0.8
# baz    NaN
# dtype: float64

Pythonのディクショナリから生成することもできる。ただ、ディクショナリは順序を保存していないので、生成されるSeriesの要素の順序は不定である。

sr = pd.Series({'foo': 0.5, 'bar': 0.8, 'baz': nan})
print(sr)
# 出力結果
# bar    0.8
# baz    NaN
# foo    0.5
# dtype: float64
このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。