Cara mengelompokkan variabel dengan python menggunakan numpy.digitize()
Seringkali Anda mungkin tertarik untuk memasukkan nilai suatu variabel ke dalam “bins” dengan Python.
Untungnya, hal ini mudah dilakukan menggunakan fungsi numpy.digitize() , yang menggunakan sintaks berikut:
numpy.digitize(x, bins, kanan=False)
Emas:
- x: array ke grup.
- tempat sampah: susunan tempat sampah.
- kanan: Menunjukkan apakah interval mencakup tepi kanan atau kiri nampan. Secara default, interval tidak menyertakan tepi kanan.
Tutorial ini menunjukkan beberapa contoh penggunaan praktis fungsi ini.
Contoh 1: Tempatkan semua nilai dalam dua nampan
Kode berikut menunjukkan cara menempatkan nilai array ke dalam dua nampan:
- 0 jika x < 20
- 1 jika 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])
Contoh 2: Tempatkan semua nilai dalam tiga wadah
Kode berikut menunjukkan cara menempatkan nilai array ke dalam tiga nampan:
- 0 jika x < 10
- 1 jika 10 ≤ x < 20
- 2 jika x ≥ 20
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])
Perhatikan bahwa jika kita menentukan right= True maka nilainya akan ditempatkan di tempat sampah berikut:
- 0 jika x ≤ 10
- 1 jika 10 < x ≤ 20
- 2 jika x > 20
Setiap interval akan mencakup tepi kanan wadah. Ini adalah tampilannya:
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])
Contoh 3: Tempatkan semua nilai dalam empat nampan
Kode berikut menunjukkan cara menempatkan nilai array ke dalam tiga nampan:
- 0 jika x < 10
- 1 jika 10 ≤ x < 20
- 2 jika 20 ≤ x < 30
- 3 jika x ≥ 30
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])
Contoh 4: Hitung frekuensi setiap bin
Fungsi NumPy lain yang berguna yang melengkapi fungsi numpy.digitize() adalah fungsi numpy.bincount() , yang menghitung frekuensi setiap bin.
Kode berikut menunjukkan cara menempatkan nilai suatu array ke dalam tiga kelompok, lalu menghitung frekuensi masing-masing kelompok:
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])
Outputnya memberitahu kita bahwa:
- Bin “0” berisi 4 nilai data.
- Bin “1” berisi 2 nilai data.
- Bin “2” berisi 5 nilai data.
Temukan tutorial Python lainnya di sini .