logo

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

Java に相当する




# 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)>

>

postgresqlで列を削除する方法

>

出力

{'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


Javaの印刷ステートメント



# 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>