今回は、PythonでDataFrameから一意な値を取得する方法に焦点を当てます。
では、さっそく始めましょう
Python DataFrame とは何ですか?
PythonのPandasモジュールは、大量のデータを保存し、操作するための様々なデータ構造と関数を提供しています。
DataFrameはPandasモジュールが提供するデータ構造で、巨大なcsvファイルやexcelファイルなど、2次元以上の大きなデータセットを扱うことができます。
データフレームに大量のデータを格納することができるので、冗長な値や繰り返される値を含むデータセットからユニークなデータ値を見つける状況にしばしば出くわします。
このようなときに、pandas.dataframe.unique() 関数
が登場します。
次のセクションでは、unique()関数の機能に焦点を当てましょう。
Python pandas.unique() 関数でデータフレームから一意な値を取得する
pandas.unique()関数は、データセットに存在するユニークな値を返す関数です。
これは基本的にハッシュテーブルに基づいたテクニックを使って、データフレーム/シリーズデータ構造内に存在する値のセットから冗長でない値を返します。
一意性関数の役割について、例題を通して理解してみましょう。
次のような値を含むデータセットがあるとします。
ここで、unique()関数を適用すると、次のような結果が得られます: 1,2,3,4. これで、データセットの一意な値を簡単に見つけることができました。
では、次にpandas.unique()関数の構造について説明します。
Python の unique() 関数の構文
以下の構文を見てください。
pandas.unique(data) |
上記の構文は、データが1次元の場合に便利です。
これは、1次元のデータ値(系列データ構造)からユニークな値を表します。
しかし、データが1次元以上の行と列を含んでいる場合はどうでしょうか?はい、我々は以下の構文でそのためのソリューションを持っている – 。
pandas.dataframe.column - name.unique()
|
この構文を使うと、データセットの特定のカラムから一意な値を見つけることができる。
一意関数が適切な結果を得るには、データがカテゴリ型であることが望ましいです。
さらに、データはデータセットに含まれる順番に表示されます。
Pandasシリーズを使ったPythonのunique()関数
以下の例では、冗長な値を含むリストを作成しました。
さらに、リストは1次元であるため、系列データ構造に変換しています。
最後に、データからユニークな値を取得するために unique() 関数を適用しています。
例えば、以下の様になります。
lst = [ 1 , 2 , 3 , 4 , 2 , 4 ]
df = pandas.Series(lst)
print ( "Unique values: )
print (pandas.unique(df))
|
結果は以下の通りです。
Unique values: [ 1 2 3 4 ]
|
Python unique()関数とPandas DataFrame
まず、以下のようにデータセットを環境にロードします。
import pandas
BIKE = pandas.read_csv( "Bike.csv" )
|
データセットはこちらで確認できます。
pandas.dataframe.nunique()関数`は、データフレームの各カラムに存在するユニークな値を表します。
BIKE.nunique() |
結果は以下の通りです。
season 4
yr 2
mnth 12
holiday 2
weathersit 3
temp 494
hum 586
windspeed 636
cnt 684
dtype: int64 |
さらに、以下のコードを使って、’season’カラムに存在するユニークな値を表現しています。
BIKE.season.unique() |
結果は以下の通りです。
array([ 1 , 2 , 3 , 4 ], dtype = int64)
|
この記事もチェック:Pandas DataFrameの単一カラムの名前を変更する
まとめ
ここまでで、このトピックは終了です。
もし何か疑問があれば、お気軽にコメントください。
Pythonに関連するこのような記事のために、ご期待ください、そして、それまでは、幸せな学習!