Python-pandas-series

提供:Dev Guides
移動先:案内検索

Pythonパンダ-シリーズ

Seriesは、任意のタイプ(整数、文字列、浮動小数点、Pythonオブジェクトなど)のデータを保持できる1次元のラベル付き配列です。 軸ラベルはまとめてインデックスと呼ばれます。

pandas.Series

パンダシリーズは、次のコンストラクタを使用して作成することができます-

pandas.Series( data, index, dtype, copy)

コンストラクタのパラメータは次のとおりです-

Sr.No Parameter & Description
1

data

データは、ndarray、リスト、定数などのさまざまな形式を取ります

2

index

インデックス値は一意でハッシュ可能で、データと同じ長さでなければなりません。 インデックスが渡されない場合のデフォルトの* np.arrange(n)*。

3

dtype

dtypeはデータ型用です。 なしの場合、データ型が推測されます

4

copy

データをコピーします。 デフォルトはFalse

シリーズは、次のようなさまざまな入力を使用して作成できます-

  • アレイ
  • Dict
  • スカラー値または定数

空のシリーズを作成する

作成できる基本シリーズは空のシリーズです。

#import the pandas library and aliasing as pd
import pandas as pd
s = pd.Series()
print s

その*出力*は次のとおりです-

Series([], dtype: float64)

ndarrayからシリーズを作成する

データがndarrayの場合、渡されるインデックスは同じ長さでなければなりません。 インデックスが渡されない場合、デフォルトではインデックスは* range(n)になります。 *n は配列の長さ、つまり[0,1,2,3…]です。 * range(len(array))-1]。*

例1

#import the pandas library and aliasing as pd
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の範囲のインデックスを割り当てました。

例2

#import the pandas library and aliasing as pd
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

ここでインデックス値を渡しました。 これで、カスタマイズされたインデックス値が出力に表示されます。

dictからシリーズを作成する

*dict* を入力として渡すことができ、インデックスが指定されていない場合、辞書キーはソートされた順序で取得されてインデックスを構築します。 *index* が渡されると、インデックスのラベルに対応するデータの値が取り出されます。

例1

#import the pandas library and aliasing as pd
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
*Observe* -辞書キーはインデックスの構築に使用されます。

例2

#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data,index=['b','c','d','a'])
print s

その*出力*は次のとおりです-

b 1.0
c 2.0
d NaN
a 0.0
dtype: float64
*Observe* -インデックスの順序は維持され、欠落している要素はNaN(非数)で埋められます。

Scalarからシリーズを作成する

データがスカラー値の場合、インデックスを提供する必要があります。 値は index の長さと一致するように繰り返されます

#import the pandas library and aliasing as pd
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

位置のあるシリーズのデータ​​へのアクセス

シリーズのデータ​​には、* ndarray。*のデータと同様にアクセスできます。

例1

最初の要素を取得します。 既に知っているように、カウントは配列のゼロから始まります。つまり、最初の要素はzero ^ th ^の位置に格納されます。

import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])

#retrieve the first element
print s[0]

その*出力*は次のとおりです-

1

例2

シリーズの最初の3つの要素を取得します。 :がその前に挿入されると、そのインデックス以降のすべてのアイテムが抽出されます。 2つのパラメーター(間に:がある)が使用される場合、2つのインデックス間のアイテム(ストップインデックスを含まない)

import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])

#retrieve the first three element
print s[:3]

その*出力*は次のとおりです-

a  1
b  2
c  3
dtype: int64

実施例3

最後の3つの要素を取得します。

import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])

#retrieve the last three element
print s[-3:]

その*出力*は次のとおりです-

c  3
d  4
e  5
dtype: int64

ラベルを使用してデータを取得(インデックス)

Seriesは、インデックスラベルで値を取得および設定できるという点で、固定サイズの dict に似ています。

例1

インデックスラベル値を使用して単一の要素を取得します。

import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])

#retrieve a single element
print s['a']

その*出力*は次のとおりです-

1

例2

インデックスラベル値のリストを使用して複数の要素を取得します。

import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])

#retrieve multiple elements
print s[[a','c','d']]

その*出力*は次のとおりです-

a  1
c  3
d  4
dtype: int64

実施例3

ラベルが含まれていない場合、例外が発生します。

import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])

#retrieve multiple elements
print s['f']

その*出力*は次のとおりです-

…
KeyError: 'f'