前準備
import pandas as pd
from pandas import Series
Seriesとは
obj = Series([3,9,12])
obj
0 3
1 9
2 12
dtype: int64
SeriesはNumpyの配列に似ていますが、indexを使ってデータに名前をつけることが出来ます。
値一覧取得
obj.values
array([ 3, 9, 12])
key一覧取得
obj.index
RangeIndex(start=0, stop=3, step=1)
keyの更新
ww2_cas = Series([8700000, 4300000, 3000000, 2100000, 400000], index=['USSR', 'Germany', 'China', 'Japan', 'USA'])
ww2_cas
USSR 8700000
Germany 4300000
China 3000000
Japan 2100000
USA 400000
dtype: int64
個別のデータにインデックスを使ってアクセスもできます
ww2_cas['USA']
400000
ww2_cas>4000000
USSR True
Germany True
China False
Japan False
USA False
dtype: bool
ww2_cas[ww2_cas>4000000]
USSR 8700000
Germany 4300000
dtype: int64
'USSR' in ww2_cas
True
Seriesから辞書型へ
ww2_dic = ww2_cas.to_dict()
ww2_dic
{'China': 3000000,
'Germany': 4300000,
'Japan': 2100000,
'USA': 400000,
'USSR': 8700000}
辞書型からSeriesへ
ww2_Series = Series(ww2_dic)
ww2_Series
China 3000000
Germany 4300000
Japan 2100000
USA 400000
USSR 8700000
dtype: int64
In [ ]:
nullがあるかどうか
countries = ['China', 'Germony', 'Japan', 'USA', 'USSR', 'Argentina']
obj2 = Series(ww2_dic, index=countries)
obj2
China 3000000.0
Germony NaN
Japan 2100000.0
USA 400000.0
USSR 8700000.0
Argentina NaN
dtype: float64
pd.isnull(obj2)
China False
Germony True
Japan False
USA False
USSR False
Argentina True
dtype: bool
nullではないもの
pd.notnull(obj2)
China True
Germony False
Japan True
USA True
USSR True
Argentina False
dtype: bool
Seriesの名前
Seriesには全体に名前をつけることができる
obj2.name = '第二次世界大戦の死傷者'
obj2
China 3000000.0
Germony NaN
Japan 2100000.0
USA 400000.0
USSR 8700000.0
Argentina NaN
Name: 第二次世界大戦の死傷者, dtype: float64