Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Analisis mendalam tentang fungsi NumPy: aplikasi praktikal dan contoh

Analisis mendalam tentang fungsi NumPy: aplikasi praktikal dan contoh

WBOY
WBOYasal
2024-01-26 09:49:17951semak imbas

Analisis mendalam tentang fungsi NumPy: aplikasi praktikal dan contoh

NumPy ialah perpustakaan pengkomputeran saintifik yang penting dalam Python, menyediakan objek tatasusunan berbilang dimensi yang berkuasa dan fungsi penyiaran, serta banyak fungsi untuk operasi tatasusunan dan pengiraan. Dalam bidang sains data dan pembelajaran mesin, NumPy digunakan secara meluas untuk operasi tatasusunan dan pengiraan berangka. Artikel ini akan menganalisis secara menyeluruh fungsi umum NumPy, memberikan aplikasi dan contoh serta memberikan contoh kod khusus.

1. Gambaran keseluruhan fungsi NumPy

Fungsi NumPy terbahagi terutamanya kepada fungsi operasi tatasusunan, fungsi matematik, fungsi statistik dan fungsi logik. Fungsi ini akan diperkenalkan secara terperinci di bawah:

  1. Fungsi operasi tatasusunan

(1) Cipta tatasusunan: Gunakan fungsi NumPy np.array() untuk mencipta tatasusunan, cuma masukkan senarai atau tuple.

Kod contoh:

import numpy as np

a = np.array([1, 2, 3])
b = np.array((4, 5, 6))
print(a)
print(b)

Hasil keluaran:

[1 2 3]
[4 5 6]

(2) Bentuk tatasusunan: Maklumat bentuk tatasusunan boleh diperolehi dengan menggunakan bentuk fungsi tatasusunan.

Kod sampel:

import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6]])
print(a.shape)

Hasil keluaran:

(2, 3)

(3) Pengindeksan dan penghirisan tatasusunan: Menggunakan pengindeksan dan operasi penghirisan tatasusunan, anda boleh mendapatkan elemen dan subarray dalam tatasusunan dengan mudah.

Kod sampel:

import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6]])
print(a[0, 1])
print(a[:, 1:3])

Hasil keluaran:

2
[[2 3]
 [5 6]]
  1. Fungsi matematik

NumPy menyediakan banyak fungsi matematik yang biasa digunakan, seperti fungsi eksponen, fungsi logaritma, dll.

(1) Fungsi eksponen: Gunakan fungsi np.exp() untuk mengira eksponen setiap elemen dalam tatasusunan.

Kod sampel:

import numpy as np

a = np.array([1, 2, 3])
print(np.exp(a))

Hasil keluaran:

[ 2.71828183  7.3890561  20.08553692]

(2) Fungsi logaritma: Gunakan fungsi np.log() untuk mengira logaritma asli setiap elemen dalam tatasusunan.

Kod sampel:

import numpy as np

a = np.array([1, 2, 3])
print(np.log(a))

Hasil keluaran:

[0.         0.69314718 1.09861229]

(3) Fungsi trigonometri: Anda boleh menggunakan fungsi seperti np.sin(), np.cos() dan np.tan() untuk mengira sinus setiap elemen dalam tatasusunan, kosinus dan nilai tangen.

Kod sampel:

import numpy as np

a = np.array([0, np.pi/2, np.pi])
print(np.sin(a))

Hasil keluaran:

[0.00000000e+00 1.00000000e+00 1.22464680e-16]
  1. Fungsi statistik

NumPy menyediakan banyak fungsi untuk analisis statistik, seperti nilai maksimum, min, varians, dsb.

(1) Min: Gunakan fungsi np.mean() untuk mengira purata tatasusunan.

Kod sampel:

import numpy as np

a = np.array([1, 2, 3, 4, 5])
print(np.mean(a))

Hasil keluaran:

3.0

(2) Nilai maksimum dan minimum: Gunakan fungsi np.max() dan np.min() untuk mengira nilai maksimum dan minimum suatu tatasusunan.

Kod sampel:

import numpy as np

a = np.array([1, 2, 3, 4, 5])
print(np.max(a))
print(np.min(a))

Hasil keluaran:

5
1

(3) Varians dan sisihan piawai: Anda boleh menggunakan fungsi np.var() dan np.std() untuk mengira varians dan sisihan piawai tatasusunan.

Kod contoh:

import numpy as np

a = np.array([1, 2, 3, 4, 5])
print(np.var(a))
print(np.std(a))

Hasil keluaran:

2.0
1.4142135623730951
  1. Fungsi logik

Fungsi logik digunakan terutamanya untuk melaksanakan operasi Boolean dan pertimbangan logik pada tatasusunan.

(1) Operasi logik: Anda boleh menggunakan fungsi seperti np.logical_and(), np.logical_or() dan np.logical_not() untuk melaksanakan operasi logik DAN, logik ATAU dan NOT logik.

Kod sampel:

import numpy as np

a = np.array([True, False, True])
b = np.array([False, True, True])
print(np.logical_and(a, b))
print(np.logical_or(a, b))
print(np.logical_not(a))

Hasil keluaran:

[False False  True]
[ True  True  True]
[False  True False]

(2) Pertimbangan logik: Anda boleh menggunakan fungsi np.all() dan np.any() untuk menilai sama ada elemen dalam tatasusunan memenuhi syarat tertentu.

Kod contoh:

import numpy as np

a = np.array([1, 2, 3, 4, 5])
print(np.all(a > 0))
print(np.any(a > 3))

Hasil keluaran:

True
True

2. Aplikasi dan contoh

Dua aplikasi dan contoh khusus akan diberikan di bawah untuk menunjukkan penggunaan fungsi NumPy.

  1. Kira jarak Euclidean

Jarak Euclidean ialah kaedah yang biasa digunakan untuk mengira jarak antara dua vektor.

Kod sampel:

import numpy as np

def euclidean_distance(a, b):
    return np.sqrt(np.sum(np.square(a - b)))

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
dist = euclidean_distance(a, b)
print(dist)

Hasil keluaran:

5.196152422706632
  1. Pengekodan satu panas

Pengekodan satu panas ialah kaedah menukar ciri diskret kepada ciri berangka, sering digunakan dalam masalah pengelasan.

Contoh kod:

import numpy as np

def one_hot_encode(labels, num_classes):
    encoded = np.zeros((len(labels), num_classes))
    for i, label in enumerate(labels):
        encoded[i, label] = 1
    return encoded

labels = np.array([0, 1, 2, 1, 0])
num_classes = 3
encoded_labels = one_hot_encode(labels, num_classes)
print(encoded_labels)

Hasil keluaran:

[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]
 [0. 1. 0.]
 [1. 0. 0.]]

Di atas ialah analisis komprehensif fungsi NumPy, serta dua aplikasi dan contoh khusus. Dengan mempelajari penggunaan fungsi NumPy, kami boleh memproses dan mengira data tatasusunan dengan lebih fleksibel, memainkan peranan penting dalam amalan sains data dan pembelajaran mesin. Saya harap artikel ini akan membantu pembaca dalam pembelajaran dan aplikasi fungsi NumPy mereka.

Atas ialah kandungan terperinci Analisis mendalam tentang fungsi NumPy: aplikasi praktikal dan contoh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn