Menu
CoddyTech

数値のビニング

CoddyのMachine Learningジャーニー「機械学習のための統計」セクションの一部。レッスン 54/64。

航空会社は、バッグの料金をグラム単位ではなく、重量区分に応じて請求します。ビニングでは、範囲だけが重要な場合に、数値をビンと呼ばれる範囲に変換します。

0 kgから32 kgまでの数直線が7と23で区切られ、機内持ち込み、標準、重量の3つの色分けされたビンに分かれている。6個のバッグが点で示されており、機内持ち込みは5.5と7.0、標準は12.4、18.2、23.0、重量は30.5

pd.cutは値、境界、および各ビンに1つのラベルを指定します:

bags = pd.DataFrame({"kg": [5.5, 23.0, 18.2, 30.5, 7.0, 12.4]})
bags["class"] = pd.cut(bags["kg"], bins=[0, 7, 23, 32],
                       labels=["cabin", "standard", "heavy"])
print(bags["class"].value_counts().sort_index())

これは次のように出力されます:

class
cabin       2
standard    3
heavy       1
Name: count, dtype: int64

各ビンには右端が含まれるため、7.0 kgは依然として機内持ち込み手荷物であり、端の範囲外の値はNaNになります。

.sort_index()は、各ビンを軽い順に並べて表示します。

challenge icon

チャレンジ

中級

ある動物園では、members.csvのメンバーをageで分類します。childは12歳まで、teenは13歳から17歳、adultは18歳から64歳、seniorは65歳から100歳です。プログラムはgroupを読み取ります。

  1. 各メンバーの年齢グループを列groupとして追加します。
  2. 各グループのメンバー数を、最初にchildを表示して出力します。
  3. 読み取ったグループのvisitsの平均を、小数点以下2桁で出力します。

規模の小さい動物園で、入力がteenの場合:

group
child     1
teen      2
adult     2
senior    1
Name: count, dtype: int64
Mean visits for teen: 10.5

自分で試してみよう

import pandas as pd

members = pd.read_csv("members.csv")
group = input()

# 以下にコードを書いてください
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

機械学習のための統計のすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ