np.power: cara menggunakan fungsi numpy power () – Codewithaden

Numpy adalah perpustakaan yang sangat kuat dan luar biasa untuk ilmu data di Python. Misalnya, Numpy kekuasaan() fungsi memperlakukan elemen dalam array input pertama sebagai basis dan mengembalikannya ke kekuasaan dari komponen yang sesuai dari array input kedua.

np.power

Itu np.power () adalah fungsi perpustakaan matematika yang digunakan untuk mendapatkan satu array yang berisi elemen dari array pertama yang diangkat ke elemen daya array kedua. Itu np.power () Fungsi mengambil dua argumen utama: 1) Array basis 2).

Itu np.power () Mengembalikan array dengan elemen array pertama yang dinaikkan ke elemen daya array kedua. Ini berarti Jika kita memiliki dua array (dengan ukuran yang sama) ARR1 dan ARR2, maka numpy.power () akan menghitung arr1 i^ arr2 untuk setiap i = 0 ke size_of_arrary-1. Jika nilai ARR2 tidak positif, maka fungsi ini akan mengembalikan a Nilaieror

Sintaksis

numpy.power(arr_of_base, arr_of_exp, out = None, 
            where = True, casting = ‘same_kind’, 
            order = ‘K’, dtype = None) 
 

Parameter

  1. arr_of_base: Ini adalah array pertama yang elemennya berfungsi sebagai basis. Seperti yang tersirat, argumen untuk parameter ARR_OF_BASE ini harus menjadi array angka. Bilangan bulat ini akan digunakan sebagai “ pangkalan ”Dari eksponen kami.
  2. arr_of_exp: Ini adalah array kedua yang elemennya berfungsi sebagai eksponen. Parameter ini memungkinkan Anda untuk menentukan eksponen yang akan Anda terapkan pada pangkalan, Himpunan dari pangkalan . Perhatikan bahwa seperti Himpunan dari eksponen Input, input ini harus berupa array numpy atau objek seperti array. Jadi di sini, Anda dapat menyediakan Array numpy , sebuah Daftar Python , sebuah tuple , atau lainnya Objek Python dengan properti seperti array. Anda bahkan dapat memberikan bilangan bulat tunggal.
  3. keluar: Ini adalah ndarray dan bidang opsional. Tempat hasilnya akan disimpan. Jika diberikan, bentuk yang disiarkan oleh input. Ketika array yang baru dialokasikan dikembalikan kecuali diterima atau tidak ada. Tuple (mungkin sebagai argumen kata kunci saja) harus memiliki panjang yang sama dengan output.
  4. di mana: Keadaan ini ditransmisikan melalui data. Array keluar akan diatur ke hasil UFunc di lokasi di mana kondisinya benar. Array keluar akan mempertahankan minat aslinya di tempat lain. Perhatikan bahwa jika default keluar = tidak ada yang menghasilkan daftar keluar yang tidak diinisialisasi, posisi di dalamnya di mana kondisinya salah akan tetap tidak diwujudkan.

Nilai pengembalian

Fungsi numpy power () mengembalikan array dengan elemen array pertama yang dinaikkan ke elemen daya array kedua. Hasilnya akan dalam bentuk integer.

Program untuk menunjukkan kerja power ()

Lihat kode berikut.

#Importing numpy
import numpy as np

#Declaring arr1 and arr2
arr1 = [4, 2, 1, 6, 5]
arr2 = [4, 0, 5, 2, 3]

#Now we will check working of power()
print("Elements of arr1 raised to the power elements of arr2 are: ")
print(np.power(arr1, arr2))
 

Keluaran

Elements of arr1 raised to the power elements of arr2 are:
[256   1   1  36 125] 

Penjelasan

Dalam program ini, kami pertama kali menyatakan dua array dengan bentuk yang sama, dan semua bilangan bulat, seperti yang Anda lihat.

Kemudian kami telah menelepon numpy.power () untuk menghitung arr1^ arr2

Jadi, menurut formula, kami mendapatkan output yang kami inginkan.

Kekuatan negatif di Numpy

Haruskah kita menggunakan negatif eksponen dengan Kekuatan Numpy ? Jawabannya adalah tidak. NP.Power () tidak bekerja dengan negatif eksponen. Jika Anda mencoba menggunakan kekuatan negatif, itu akan melempar nilaiError: bilangan bulat negatif Kekuatan integer tidak diizinkan.

Lihat kode berikut.

# Program to show ValueError when elements of arr2 are negative

# Importing numpy
import numpy as np

# Declaring arr1 and arr2
arr1 = [4, 2, 1, 6, 5]
arr2 = [4, 0, -5, 2, -3]

# Now we will check working of power()
print("Elements of arr1 raised to the power elements of arr2 are: ")
print(np.power(arr1, arr2)) 

Keluaran

Elements of arr1 raised to the power elements of arr2 are:
Traceback (most recent call last):
  File "app.py", line 12, in 
    print(np.power(arr1, arr2))
ValueError: Integers to negative integer powers are not allowed. 

Penjelasan

Dalam program ini, kami pertama kali menyatakan dua array dengan bentuk yang sama, dan semua bilangan bulat, seperti yang Anda lihat. Kemudian kami telah menelepon numpy.power () untuk menghitung arr1 i^ arr2 Tetapi seperti yang dikatakan di atas, fungsi ini mengembalikan a Nilaieror Saat elemen array kedua negatif, dan kami mendapat a Nilaieror

Kekuatan matriks yang tidak

Untuk menemukan kekuatan matriks di Numpy, kita harus menggunakan numpy.linalg.matrix_power (a, n) fungsi.

Untuk bilangan positif n, daya dihitung dengan kuadrat matriks berulang dan multiplikasi matriks.

Jika n == 0, matriks identitas dengan bentuk yang sama dengan m dikembalikan.

Jika n <0, terbalik dihitung dan dinaikkan ke abs (n)

Lihat kode berikut.

# app.py

import numpy as np

data = np.array([[0, 1], [-1, 0]])
op = np.linalg.matrix_power(data, 3)
print(op) 

Keluaran

 python3 app.py
[[0 -1]
 [1 0]] 

Mari kita lihat contoh lain.

# app.py

import numpy as np

data = np.array([[0, 1], [-1, 0]])
op = np.linalg.matrix_power(data, 0)
print(op) 

Keluaran

python3 app.py
[[1 0]
 [0 1]] 

Numpy Power vs. **

Apakah ada perbedaan antara numpy.power () dan ** Operator pada array yang tidak bagus? Ya, ada perbedaan eksekusi waktu antara kedua pendekatan ini.

import numpy as np
import time

arr1 = np.array([[21, 19], [11, 18]])
arr2 = np.array([[11, 18], [21, 19]])

first_start_time = time.time()
print(np.power(arr1, arr2))
print("The execution time for np.power() method: ",
      time.time() - first_start_time)

second_start_time = time.time()
print(arr1 ** arr2)
print("The execution time for ** approach: ", time.time() - second_start_time) 

Keluaran

[[ 350277500542221 -4519998179177339479]
[ 3105570700629903195 -8946610666848387072]]

The execution time for np.power() method: 0.0004169940948486328

[[ 350277500542221 -4519998179177339479]
[ 3105570700629903195 -8946610666848387072]]

The execution time for ** approach: 0.00032711029052734375 

Anda dapat melihat bahwa perbedaan antara pendekatan pertama dan kedua adalah waktu eksekusi. Itu ** Pendekatan sedikit lebih cepat dari metode np.power ().

Kesimpulan

Fungsi np.power () menghitung eksponen di Numpy. Fungsi Python numpy.power () memungkinkan kami untuk melakukan eksponensial sederhana seperti B dengan kekuatan n, dan itu juga memungkinkan Anda untuk melakukan ini dengan array numpy yang besar. Kita telah melihat bagaimana menemukan kekuatan array NP dan menemukan kekuatan matriks.

Itu untuk tutorial ini.

Lihat juga

np.roll ()

np.eye ()

np.npv ()

np.fv ()

np.pv ()

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 *