English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Pandas Seriesの基本操作
Series構造体は以下の通りです:
pandas.Series( data, index, dtype, copy)
コンストラクタの引数は以下の通りです。-
data:データはndarray、リスト、定数などの様々な形式を取ることができます。 index:インデックス値はユニークでハッシュ可能で、データの長さと同じ長さである必要があります。インデックスが指定されていない場合、デフォルトでnp.arange(n)になります。 dtype:データのデータ型を指定します。Noneの場合、データ型が推測されます。 copy:データをコピーします。デフォルトはfalseです。
Seriesを作成するために様々な入力を使用できます。例えば
Array Dict スカラ値や定数
>>> # pandas依存パッケージをインポートし、別名を設定 >>> import pandas as pd >>> s = pd.Series() >>> print(s) Series([], dtype: float64)
データがndarrayの場合、渡されるインデックスは同じ長さを持たなければなりません。インデックスが指定されていない場合、デフォルトでインデックスはrange(n)になります。ここでnは配列の長さです。つまり[0,1,2,3…。範囲(len(array))-1]。
# Filename : pandas.py # author by : ja.oldtoolbag.com # pandas依存パッケージをインポートし、別名を設定 import pandas as pd import numpy as np data = np.array(['a','b','c','d']) s = pd.Series(data) print(s)
実行結果:
0 a 1 b 2 c 3 d dtype: object
インデックスを指定していないため、デフォルトで0からlen(data)までの範囲が割り当てられます。-1、つまり0から3。
# Filename : pandas.py # author by : ja.oldtoolbag.com # pandas依存パッケージをインポートし、別名を設定 import pandas as pd import numpy as np data = np.array(['a','b','c','d']) s = pd.Series(data,index=[100,101,102,103]) print(s)
実行結果:
100 a 101 b 102 c 103 d dtype: object
ここでインデックス値を渡しました。現在、出力でカスタムインデックス値が見られます。
辞書は入力として渡すことができます。インデックスが指定されていない場合、辞書のキーはソート順序に基づいてインデックスが構築されます。インデックスが指定されている場合、インデックスに対応するインデックスタグデータの値が引き出されます。
# Filename : pandas.py # author by : ja.oldtoolbag.com # pandas依存パッケージをインポートし、別名を設定 import pandas as pd import numpy as np data = {'a' : 0., 'b' : 1.}, 'c' : 2}. s = pd.Series(data) print(s)
実行結果:
a 0.0 b 1.0 c 2.0 dtype: float64
辞書のキーはインデックスを構築するために使用されます。
# Filename : pandas.py # author by : ja.oldtoolbag.com # pandas依存パッケージをインポートし、別名を設定 import pandas as pd import numpy as np data = {
実行結果:
b 1.0 c 2.0 d NaN a 0.0 dtype: float64
インデックスの順序は変更されず、欠けている要素はNaN(非数字)で埋められます。
データがスカラ値の場合、インデックスを提供する必要があります。この値はインデックスの長さに一致するように複製されます。
# Filename : pandas.py # author by : ja.oldtoolbag.com # pandas依存パッケージをインポートし、別名を設定 import pandas as pd import numpy as np s = pd.Series(5, index=[0, 1, 2, 3]) print(s)
実行結果:
0 5 1 5 2 5 3 5 dtype: int64
Series内のデータはndarrayのようにアクセスできます。
最初の要素を検索。よく知られているように、配列のカウントは0から始まるため、最初の要素は0番目の位置に格納されています。以降、同様です。
# Filename : pandas.py # author by : ja.oldtoolbag.com # pandas依存パッケージをインポートし、別名を設定 import pandas as pd s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e']) # 最初のデータを検索 print s[0]
実行結果:
1
Seriesの中の最初の3つの要素を検索。もし前に挿入する場合、そのインデックスからすべての項目が抽出されます。二つのパラメータ(それらの間に:がある)を使用する場合、二つのインデックス間の項目(停止インデックスを含めない)
# Filename : pandas.py # author by : ja.oldtoolbag.com # pandas依存パッケージをインポートし、別名を設定 import pandas as pd s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e']) # 前3要素 print s[:3]
実行結果:
a 1 b 2 c 3 dtype: int64
最後の3つの要素を検索
# Filename : pandas.py # author by : ja.oldtoolbag.com # pandas依存パッケージをインポートし、別名を設定 s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e']) # 最後の3つの要素を検索 print s[-3:]
実行結果:
c 3 d 4 e 5 dtype: int64
Seriesは固定サイズの辞書のように、インデックスタグを使用して値を取得および設定できます。
インデックスタグを使用して単一の要素を検索
# Filename : pandas.py # author by : ja.oldtoolbag.com # pandas依存パッケージをインポートし、別名を設定 import pandas as pd s = pd.Series([1,2,3,4,5],index = [
実行結果:
1
インデックスタグのリストを使用して複数の要素を検索
# Filename : pandas.py # author by : ja.oldtoolbag.com # pandas依存パッケージをインポートし、別名を設定 import pandas as pd s = pd.Series([1,2,3,4,5],index = [
実行結果:
a 1 c 3 d 4 dtype: int64
タグが含まれていない場合、例外が発生します。
# Filename : pandas.py # author by : ja.oldtoolbag.com # pandas依存パッケージをインポートし、別名を設定 import pandas as pd s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e']) # 複数の要素を検索 print(s['f'])
実行結果:
… KeyError: 'f'