LoginSignup
0
0

More than 3 years have passed since last update.

【Python】データサイエンス100本ノック(構造化データ加工編) 032 解説

Posted at
  • データサイエンス100本ノックをやりきる会を作りました🎉
  • こちらのSlack招待URLからご参加ください!!
  • ぜひ一緒に励まし合いながら、データサイエンス100本ノックをやり切りたいと思っています!

Youtube

動画解説もしています。

問題

P-032: レシート明細データフレーム(df_receipt)の売上金額(amount)について、25%刻みでパーセンタイル値を求めよ。

解答

コード例1
np.percentile(df_receipt['amount'], q=[25, 50, 75,100])

出力

コード例1
array([102. ,170. ,288. ,10925. ])

解答

コード例2
df_receipt.amount.quantile(q=np.arange(5)/4)

出力

コード例2
0.00    10.0
0.25    102.0
0.50    170.0
0.75    288.0
1.00    10925.0
Name: amount, dtype: float64

解説

・コード1はNumPyメイン、コード2はPandasメインです。
'np.percentile(<データ名>[<列名>], q=[ , , , ])'は、NumPyの'percentile'関数を使用しています。
・データを小さい順に並べた時に、初めから数えて全体のN%にあるデータをNパーセンタイルと呼びます。
・第一四分位数は25パーセンタイル、中央値は50パーセンタイル、第三四分位数は75パーセンタイルです。
'np.percentile'は、NumPyの関数であり、パーセンタイルを算出します。'q'でパーセンタイルを指定します。
'.quantile'は、Pandasの関数であり、パーセンタイルを算出します。'q'でパーセンタイルを指定します。
'np.arange'は、NumPyの関数であり、等差数列を指定します。例えば、'np.arange(1,10,2)'は、1から10までの等差2の数列を指定します。
・今回の場合、'np.arange(5)'は、0から4までの等差1の数列[0,1,2,3,4]を指定しています。初めの数および等差の指定がない場合は、0始まり、等差1となります。
・np.arange(5)=[0,1,2,3,4]であり、それを4で割っているので、パーセンタイルとして指定しているのは[0, 0.25, 0.5, 0.75, 1]となります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0