Pandas: インデックス列から一意の値を取得する方法
次のメソッドを使用して、パンダ データフレームのインデックス列の一意の値を取得できます。
方法 1: インデックス列から一意の値を取得する
df. index . single ()
方法 2: MultiIndex の特定の列から一意の値を取得する
df. index . unique (' some_column ')
次の例は、この構文を実際に使用する方法を示しています。
例1: インデックス列から一意の値を取得する
次のパンダ データフレームがあるとします。
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, 22, 19, 14, 14, 11, 20, 28], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4]}, index = [0, 1, 1, 1, 2, 2, 3, 4]) #view DataFrame print (df) team points assists 0 to 18 5 1 B 22 7 1 C 19 7 1 D 14 9 2 E 14 12 2 F 11 9 3 G 20 9 4:28 4
次の構文を使用して、DataFrame のインデックス列の一意の値を取得できます。
#get unique values from index column
df. index . single ()
Int64Index([0, 1, 2, 3, 4], dtype='int64')
出力では、インデックス列にそれぞれの一意の値が表示されます。
len()関数を使用して、インデックス列の一意の値の数をカウントすることもできます。
#count number of unique values in index column
len ( df.index.unique ( ))
5
DataFrame のインデックス列に5 つの一意の値があることがわかります。
例 2: MultiIndex の特定の列から一意の値を取得する
次のパンダ データフレームがあるとします。
import pandas as pd #define index values index_names = pd. MultiIndex . from_tuples ([(' West ',' A '), (' West ', ' A '), (' West ', ' B '), (' East ', ' C '), (' East ', ' C '), (' East ', ' D ')], names=[' Division ', ' Team ']) #define data values data = {' Sales ': [12, 44, 29, 35, 44, 19]} #createDataFrame df = pd. DataFrame (data, index=index_names) #view DataFrame print (df) Sales Division Team West A 12 At 44 B29 East C 35 C 44 D 19
この DataFrame には multiIndex があることに注意してください。
次の構文を使用して、multiIndex の単一のTeam列の一意の値を取得できます。
#get unique values from Team column in multiIndex
df. index . single (' Team ')
Index(['A', 'B', 'C', 'D'], dtype='object', name='Team')
出力には、multiIndex のTeam列の 4 つの一意の値、A、B、C、D が表示されます。
同様の構文を使用して、multiIndex のDivision列から一意の値を抽出できます。
#get unique values from Division column in multiIndex
df. index . single (' Division ')
Index(['West', 'East'], dtype='object', name='Division')
出力には、multiIndex のDivision列の 2 つの一意の値、West と East が表示されます。
追加リソース
次のチュートリアルでは、パンダで他の一般的な機能を実行する方法を説明します。
Pandasでインデックスを列に変換する方法
Pandasでインデックスの名前を変更する方法
Pandasで列をインデックスとして設定する方法