Pandas DataFrame の列から一意の値を取得する

Pandas DataFrame の列から一意の値を取得する

unique() 関数は、列上の重複する値をすべて削除し、複数の同じ値に対して 1 つの値を返します。この記事では、列から一意の値を取得する方法について説明します。 パンダのデータフレーム

重複した要素を含む Pandas データフレームの作成

リストの辞書を使用してサンプルの Pandas データフレームを作成します。列名は次のとおりです。 A、B、C、D、E 重複した要素がある。

Python3






# Import pandas package> import> pandas as pd> # create a dictionary with five fields each> data> => {> > 'A'> : [> 'A1'> ,> 'A2'> ,> 'A3'> ,> 'A4'> ,> 'A5'> ],> > 'B'> : [> 'B1'> ,> 'B2'> ,> 'B3'> ,> 'B4'> ,> 'B4'> ],> > 'C'> : [> 'C1'> ,> 'C2'> ,> 'C3'> ,> 'C3'> ,> 'C3'> ],> > 'D'> : [> 'D1'> ,> 'D2'> ,> 'D2'> ,> 'D2'> ,> 'D2'> ],> > 'E'> : [> 'E1'> ,> 'E1'> ,> 'E1'> ,> 'E1'> ,> 'E1'> ]}> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data)>

Pandas DataFrame の列から一意の値を取得する

以下に、このデータフレーム内の列の一意の値を取得できる例をいくつか示します。

  • 「B」列の一意の値を取得する
  • 「E」列の一意の値を取得する
  • 列内の固有の値の数を取得する
  • set() を使用して列から重複値を削除する
  • pandas.concat() メソッドと Unique() メソッドの使用
  • Series.drop_duplicates() の使用

「B」列の一意の値を取得する

この例では、 unique()> 方法。結果として得られる一意の値は次のとおりです。 ['B1', 'B2', 'B3', 'B4']>

Python3




# Import pandas package> import> pandas as pd> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data)> # Get the unique values of 'B' column> df.B.unique()>

出力

array(['B1', 'B2', 'B3', 'B4'], dtype=object) 

「E」列のパンダの一意の値を取得する

この例では、辞書から pandas DataFrame を作成し、次のメソッドを使用して「E」列から一意の値を取得します。 unique()> 方法。結果として得られる一意の値は次のとおりです。 ['E1']>

Python3




# Import pandas package> import> pandas as pd> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data)> # Get the unique values of 'E' column> df.E.unique()>

出力

array(['E1'], dtype=object) 

列内の固有の値の数を取得する

この例では、辞書から pandas DataFrame を作成し、NaN 値を除いた「C」列の一意の値の数を計算して出力します。結果は 3 で、列「C」に 3 つの一意の値があることを示します。

Python3




# Import pandas package> import> pandas as pd> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data)> # Get number of unique values in column 'C'> df.C.nunique(dropna> => True> )>

出力

3 

set() を使用して列から重複値を削除する

この例では、辞書から pandas DataFrame を作成し、 set()> 関数 列「C」から一意の値を抽出し、重複を排除します。結果として得られるセットは、 {'C1', 'C2', 'C3'}> 、列「C」の一意の値を表します。

Python3




# Import pandas package> import> pandas as pd> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data)> # Use set() to eliminate duplicate values in column 'C'> unique_values_set> => set> (df[> 'C'> ])> # Print the unique values> print> (unique_values_set)>

出力

{'C1', 'C2', 'C3'} 

pandas.concat() メソッドと Unique() メソッドの使用

この例では、辞書から pandas DataFrame を作成し、次を使用してすべての列の一意の値を連結します。 pd.concat()> 。結果の NumPy 配列を印刷すると、列「A」から「E」までの一意の値がすべて表示されます。

Python3




# Import pandas package> import> pandas as pd> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data)> # Use pd.concat() to concatenate all columns and then apply unique()> unique_values_all_columns> => pd.concat([df[col].unique()> for> col> in> df.columns])> # Print the unique values> print> (unique_values_all_columns)>

出力

['A1' 'A2' 'A3' 'A4' 'A5' 'B1' 'B2' 'B3' 'B4' 'C1' 'C2' 'C3' 'D1' 'D2' 'E1'] 

Series.drop_duplicates() の使用

この例では、辞書からパンダ データフレームを作成し、列「A」と「D」から重複を削除します。 drop_duplicates()> 方法 。結果として得られる DataFrame を印刷すると、列「A」と「D」に一意の値が表示され、「D」から重複が削除された NaN 値が表示されます。

Python3




# Import pandas package> import> pandas as pd> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data)> # Use drop_duplicates() to remove duplicates from columns 'A' and 'D'> df[> 'A'> ]> => df[> 'A'> ].drop_duplicates()> df[> 'D'> ]> => df[> 'D'> ].drop_duplicates()> # Print the DataFrame after removing duplicates from columns 'A' and 'D'> print> (df)>

出力

   A B C D E   0 A1 B1 C1 D1 E1 1 A2 B2 C2 D2 E1 2 A3 B3 C3 NaN E1 3 A4 B4 C3 NaN E1 4 A5 B4 C3 NaN E1 


トップ記事

カテゴリ

興味深い記事