Numpy.digitize() kullanılarak python'da değişkenler nasıl gruplanır?


Çoğu zaman Python’da bir değişkenin değerlerini “kutulara” koymak ilginizi çekebilir.

Neyse ki, aşağıdaki sözdizimini kullanan numpy.digitize() işlevini kullanarak bunu yapmak kolaydır:

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

Altın:

  • x: gruba dizi.
  • bins: kutu dizisi.
  • sağ: Aralıkların bölmenin sağ veya sol kenarını içerip içermediğini belirtir. Varsayılan olarak aralık sağ kenarı içermez.

Bu eğitimde bu işlevin pratik kullanımına ilişkin birkaç örnek gösterilmektedir.

Örnek 1: Tüm değerleri iki bölmeye yerleştirin

Aşağıdaki kod, bir dizinin değerlerinin iki bölmeye nasıl yerleştirileceğini gösterir:

  • 0 eğer x < 20 ise
  • 1 eğer x ≥ 20
 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])

Örnek 2: Tüm değerleri üç bölmeye yerleştirin

Aşağıdaki kod, bir dizinin değerlerinin üç bölmeye nasıl yerleştirileceğini gösterir:

  • 0 eğer x < 10 ise
  • 1 , eğer 10 ≤ x < 20 ise
  • 2 eğer x ≥ 20 ise
 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 belirtirsek değerlerin aşağıdaki kutulara yerleştirileceğini unutmayın:

  • 0 eğer x ≤ 10
  • 1 , eğer 10 < x ≤ 20 ise
  • 2 eğer x > 20 ise

Her aralık bölmenin sağ kenarını içerecektir. Şuna benziyor:

 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])

Örnek 3: Tüm değerleri dört bölmeye yerleştirin

Aşağıdaki kod, bir dizinin değerlerinin üç bölmeye nasıl yerleştirileceğini gösterir:

  • 0 eğer x < 10 ise
  • 1 , eğer 10 ≤ x < 20 ise
  • 2 eğer 20 ≤ x < 30 ise
  • 3 eğer x ≥ 30 ise
 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])

Örnek 4: Her bir bölmenin sıklığını sayın

Numpy.digitize() işlevini tamamlayan diğer bir kullanışlı NumPy işlevi, her bir bölmenin frekanslarını sayan numpy.bincount() işlevidir.

Aşağıdaki kod, bir dizinin değerlerinin üç gruba nasıl yerleştirileceğini ve ardından her grubun sıklığının nasıl sayılacağını gösterir:

 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])

Çıktı bize şunu söylüyor:

  • “0” bölmesi 4 veri değeri içerir.
  • Bölme “1” 2 veri değeri içerir.
  • Bölme “2” 5 veri değeri içerir.

Daha fazla Python eğitimini burada bulabilirsiniz.

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir