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.