Python-pandas-series
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'