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 .

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *