データサイエンス100本ノックで勉強(20)distinctとunique

データサイエンス100本ノックでSQLPythonを勉強していきます。

github.com

S-022: レシート明細テーブル(receipt)の顧客ID(customer_id)に対し、ユニーク件数をカウントせよ。

SQLだと以下のようになります。

select count(distinct customer_id) from receipt;

f:id:JunpeiNakasone:20220210062630p:plain

distinctをつけてユニーク件数を取得できるようにしています。

distinctをつけない場合の結果と、それぞれのcustomer_idごとに件数を取得した結果は以下になります。
f:id:JunpeiNakasone:20220210063113p:plain

Pythonだと以下のようになります。

len(df_receipt['customer_id'].unique())

f:id:JunpeiNakasone:20220210063554p:plain

SQLでいうところのdistinctはPythonだとunique()になるようです。

試しにunique()を外すと件数が変わりました。 f:id:JunpeiNakasone:20220210063706p:plain

pandas.pydata.org