np.take: apa itu numpy take () function in python – Codewithaden

Itu numpy.take () Fungsi mengembalikan elemen di sepanjang sumbu yang disebutkan dan indeks dari array.

np.take

NP.take () adalah fungsi matematika yang mengembalikan elemen dari array di sepanjang sumbu dan indeks yang disebutkan. Ini berarti Kami akan bisa mendapatkan elemen array dengan indeksnya, dan jika sumbu disebutkan, maka semua elemen yang ada pada indeks itu akan dicetak dengan segi sumbu.

Fungsi numpy take () mengambil elemen dari array di sepanjang sumbu. Fungsi take () melakukan hal yang sama dengan “ menyukai ”Pengindeksan (array pengindeksan menggunakan array); Namun, bisa lebih mudah digunakan jika Anda membutuhkan item di sepanjang sumbu yang diberikan.

Sintaksis

numpy.take(array, indices, axis = None, out = None, mode =’raise’)
 

Parameter

Fungsi take () dapat memakan waktu hingga lima parameter:

  • Himpunan : Ini adalah array tempat kami akan bekerja.
  • indeks : Ini adalah indeks nilai yang akan dikumpulkan.
  • sumbu : Bidang ini opsional. Ini adalah poros di mana kita harus mengambil elemen. Nilai defaultnya adalah ‘tidak ada’; Dalam hal ini, array diratakan.
  • mode : Ada tiga jenis mode yang bekerja pada cara kerja yang tidak akan bekerja:
    • menaikkan : Naikkan kesalahan jika terjadi out-of-bound
    • melengkung : Warp sekitar
    • klip : klip ke jangkauan

Ingat, bidang ini opsional.

Nilai pengembalian

Fungsi take () mengembalikan nd-array yang memiliki tipe yang sama.

Bekerja dari Take () tanpa mode apa pun

Lihat kode berikut.

#Importing numpy
import numpy as np

#We will create a 2D array
#Of shape 4x3
arr = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9), (50, 51, 52)])
#Printing the array
print("The array is: ")
print(arr)

#Printing values without mentioning axis
indices = [2, 7]
print("Values at position 2 and 7 are: ", np.take(arr, indices))

#Printing valoues with axis
indices = [0, 2]
print("Values at position 0 and 2 are: \n", np.take(arr, indices, axis=1))
 

Keluaran

The array is:
[[ 1  2  3]
 [ 4  5  6]
 [ 7  8  9]
 [50 51 52]]
Values at position 2 and 7 are:  [3 8]
Values at position 0 and 2 are:
 [[ 1  3]
 [ 4  6]
 [ 7  9]
 [50 52]]
 

Penjelasan

Dalam contoh ini, kami pertama kali menyatakan serangkaian bentuk 3 × 4, dan kami telah mencetak array itu.

Kemudian kami ingin mencetak nilai dengan memberikan indeksnya dengan bantuan take ().

Pada awalnya, kami telah menelepon Take () tanpa menyebutkan sumbu, dan kami dapat melihat bahwa dalam indeks, kami telah memberikan nilai [2,7], karena sumbu tidak disebutkan, array diratakan, dan nilai -nilai pada indeks 2 dan 7 dicetak.

Dalam kasus kedua, kami telah menyebutkan sumbu = 1, yang akan mencetak nilai-nilai-bijaksana dan indeks = [0,2].

Kita dapat melihat bahwa kita mendapat hasil sebagai matriks 2 × 4. Take () telah mencetak nilai kolom, yang masing -masing memiliki indeks 0 dan 2.

Bekerja dari Take () dengan mode

Lihat kode berikut.

#Importing numpy
import numpy as np

#We will create a 2D array
#Of shape 4x3
arr = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9), (50, 51, 52)])
#Printing the array
print("The array is: ")
print(arr)

#Printing values mode=warp
indices = [0, 6]
print("Values at position 0 and 6 are [mode=warp]:\n ",
      np.take(arr, indices, axis=1, mode='warp'))

#Printing values mode=clip
indices = [1, 5]
print("Values at position 1 and 5 are [mode=clip]:\n ",
      np.take(arr, indices, axis=1, mode='clip'))

#Printing values mode=raise
indices = [2, 7]
print("Values at position 2 and 7 are [mode=raise]:\n ",
      np.take(arr, indices, axis=1, mode='raise'))
 

Keluaran

The array is:
[[ 1  2  3]
 [ 4  5  6]
 [ 7  8  9]
 [50 51 52]]
Values at position 0 and 6 are [mode=warp]:
  [[ 1  1]
 [ 4  4]
 [ 7  7]
 [50 50]]
Values at position 1 and 5 are [mode=clip]:
  [[ 2  3]
 [ 5  6]
 [ 8  9]
 [51 52]]
Traceback (most recent call last):
  File "take2.py", line 21, in 
	print("Values at position 2 and 7 are [mode=raise]:\n ",np.take(arr,indices,axis=1,mode='raise'))
  File "/usr/lib/python3/dist-packages/numpy/core/fromnumeric.py", line 189, in take
	return _wrapfunc(a, 'take', indices, axis=axis, out=out, mode=mode)
  File "/usr/lib/python3/dist-packages/numpy/core/fromnumeric.py", line 56, in _wrapfunc
	return getattr(obj, method)(*args, **kwds)
IndexError: index 7 is out of bounds for size 3 

Penjelasan

Dalam contoh ini, kami telah menyatakan berbagai bentuk 3 × 4 dan mencetaknya Himpunan

Dalam kasus pertama, kita dapat melihat bahwa kita telah memberikan nilai indeks [0,6] dan sumbu = 1; kami tidak memiliki sumbu seperti itu dengan indeks dari 6.

Ketika kami menelepon Take (), kami telah lulus mode = ‘Warp’, karena kami mencoba untuk mendapatkan indeks yang tidak terikat, mode ‘Warp’ telah melengkung array dan nilai cetak tanpa kesalahan apa pun.

Dalam kasus kedua, kami telah memberikan mode = ‘klip’, kami dapat melihat bahwa array terpotong dan nilainya dicetak.

Akhirnya, kami telah memberikan mode = ‘Raise’, karena mode ini menimbulkan kesalahan dalam kasus Out of Bound, kami mendapat kesalahan dalam output.

Itu untuk fungsi np.take ().

Lihat juga

Numpy Main ()

Numpy nanargmax ()

Nanargmin numpy ()

Numpy argmin ()

Numpy argmax ()

Artikel ini berasal dari website Winpoin, dan kemudian diterjemahkan ke bahasa indonesia, baca artikel asli disini

Leave a Reply

Your email address will not be published. Required fields are marked *