Python で numpy.digitalize() を使用して変数をグループ化する方法


多くの場合、変数の値を Python の「ビン」に入れることに興味があるかもしれません。

幸いなことに、これは、次の構文を使用するnumpy.digitalize()関数を使用して簡単に実行できます。

numpy.digitalize(x, bins, right=False)

金:

  • x:グループ化する配列。
  • bins:ビンの配列。
  • right:間隔にビンの右端が含まれるか左端が含まれるかを示します。デフォルトでは、間隔には右端は含まれません。

このチュートリアルでは、この機能の実際の使用例をいくつか示します。

例 1: すべての値を 2 つのビンに配置します

次のコードは、配列の値を 2 つのビンに配置する方法を示しています。

  • x < 20 の場合は0
  • x ≥ 20 の場合は1
 import numpy as np

#create data
data = [2, 4, 4, 7, 12, 14, 19, 20, 24, 31, 34]

#place values into bins
n.p. digitize (data, bins=[20])

array([0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1])

例 2: すべての値を 3 つのビンに配置します

次のコードは、配列の値を 3 つのビンに配置する方法を示しています。

  • x < 10 の場合は0
  • 10 ≤ x < 20 の場合は1
  • x ≥ 20 の場合は2
 import numpy as np

#create data
data = [2, 4, 4, 7, 12, 14, 20, 22, 24, 31, 34]

#place values into bins
n.p. digitize (data, bins=[10, 20])

array([0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2])

right= Trueを指定すると、値は次のビンに配置されることに注意してください。

  • x ≤ 10 の場合は0
  • 10 < x ≤ 20 の場合は1
  • x > 20 の場合は2

各間隔にはビンの右端が含まれます。これは次のようになります。

 import numpy as np

#createdata
data = [2, 4, 4, 7, 12, 14, 20, 22, 24, 31, 34]

#place values into bins
n.p. digitize (data, bins=[10, 20], right= True )

array([0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2])

例 3: すべての値を 4 つのビンに配置します

次のコードは、配列の値を 3 つのビンに配置する方法を示しています。

  • x < 10 の場合は0
  • 10 ≤ x < 20 の場合は1
  • 20 ≤ x < 30 の場合は2
  • x ≥ 30 の場合は3
 import numpy as np

#createdata
data = [2, 4, 4, 7, 12, 14, 20, 22, 24, 31, 34]

#place values into bins
n.p. digitize (data, bins=[10, 20, 30])

array([0, 0, 0, 0, 1, 1, 2, 2, 2, 3, 3])

例 4: 各ビンの頻度をカウントする

numpy.digitalize() 関数を補完するもう 1 つの便利な NumPy 関数は、各ビンの頻度をカウントするnumpy.bincount()関数です。

次のコードは、配列の値を 3 つのグループに配置し、各グループの頻度をカウントする方法を示しています。

 import numpy as np

#createdata
data = [2, 4, 4, 7, 12, 14, 20, 22, 24, 31, 34]

#place values into bins
bin_data = np. digitize (data, bins=[10, 20])

#view binned data
bin_data

array([0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2])

#count frequency of each bin
n.p. bincount (bin_data)

array([4, 2, 5])

出力からは次のことがわかります。

  • ビン「0」には4 つのデータ値が含まれます。
  • ビン「1」には2 つのデータ値が含まれています。
  • ビン「2」には5 つのデータ値が含まれています。

その他の Python チュートリアルについては、こちらをご覧ください。

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です