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>