Rumah > pembangunan bahagian belakang > Tutorial Python > Lembaran Penipuan Numpy

Lembaran Penipuan Numpy

DDD
Lepaskan: 2024-10-04 06:08:29
asal
1111 orang telah melayarinya

Numpy Cheat Sheet

Panduan Komprehensif untuk NumPy: Helaian Penipuan Terunggul

NumPy (Numerical Python) ialah perpustakaan asas untuk pengkomputeran saintifik dalam Python. Ia menambah sokongan untuk tatasusunan dan matriks berbilang dimensi yang besar, bersama-sama dengan koleksi besar fungsi matematik untuk beroperasi pada tatasusunan ini dengan cekap. NumPy digunakan secara meluas untuk analisis data, pembelajaran mesin, pembelajaran mendalam dan pengiraan berangka.


1. Mengimport NumPy

Sebelum menggunakan NumPy, perpustakaan mesti diimport ke dalam persekitaran Python anda.


import numpy as np


Salin selepas log masuk

2. Tatasusunan NumPy

Tatasusunan NumPy ialah teras perpustakaan. Ia menyediakan storan yang pantas dan cekap bagi set data yang besar serta menyokong operasi bervektor.

Mencipta Tatasusunan

Terdapat beberapa cara untuk mencipta tatasusunan dalam NumPy:

Penciptaan Tatasusunan 1D, 2D dan 3D


# 1D array
arr_1d = np.array([1, 2, 3, 4])
# 2D array
arr_2d = np.array([[1, 2], [3, 4], [5, 6]])
# 3D array
arr_3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])


Salin selepas log masuk

Keluaran Jangkaan:


1D array: [1 2 3 4]
2D array: [[1 2]
           [3 4]
           [5 6]]
3D array: [[[1 2]
            [3 4]]
           [[5 6]
            [7 8]]]


Salin selepas log masuk

3. Fungsi Permulaan Tatasusunan

Sifar, Satu, Penuh, Kosong, Mata, Identiti

Fungsi ini mencipta tatasusunan dengan nilai yang telah ditetapkan.

  • np.zeros(shape) – Mengembalikan tatasusunan baharu bentuk yang diberikan yang diisi dengan sifar.
  • np.ones(shape) – Mengembalikan tatasusunan baharu yang diisi dengan satu.
  • np.full(shape, fill_value) – Mengembalikan tatasusunan baharu bagi bentuk yang diberikan, diisi dengan nilai yang ditentukan.
  • np.empty(shape) – Mengembalikan tatasusunan yang tidak dimulakan bagi bentuk yang ditentukan.
  • np.eye(N) – Mengembalikan matriks identiti 2D dengan 1s pada pepenjuru.
  • np.identity(N) – Mencipta matriks identiti segi empat sama bersaiz N.

# Creating arrays with initialization functions
zeros_arr = np.zeros((2, 3))
ones_arr = np.ones((2, 2))
full_arr = np.full((3, 3), 7)
eye_arr = np.eye(3)


Salin selepas log masuk

Keluaran Jangkaan:


Zeros array: [[0. 0. 0.]
              [0. 0. 0.]]
Ones array: [[1. 1.]
             [1. 1.]]
Full array: [[7 7 7]
             [7 7 7]
             [7 7 7]]
Identity matrix: [[1. 0. 0.]
                  [0. 1. 0.]
                  [0. 0. 1.]]


Salin selepas log masuk

4. Penjanaan Susunan Rawak

NumPy menyediakan pelbagai cara untuk menjana nombor rawak.

Nombor Rawak dengan np.rawak

  • np.random.rand(shape) – Menghasilkan nilai rawak dalam bentuk tertentu (antara 0 dan 1).
  • np.random.randint(rendah, tinggi, saiz) – Mengembalikan integer rawak daripada rendah (termasuk) kepada tinggi (eksklusif).
  • np.random.choice(array) – Memilih elemen secara rawak daripada tatasusunan.

random_arr = np.random.rand(2, 2)
randint_arr = np.random.randint(1, 10, (2, 3))


Salin selepas log masuk

Keluaran Jangkaan:


Random array: [[0.234 0.983]
               [0.456 0.654]]
Random integer array: [[5 7 2]
                       [3 9 1]]


Salin selepas log masuk

5. Memeriksa dan Memanipulasi Tatasusunan

Atribut Tatasusunan

  • ndarray.shape – Mengembalikan dimensi tatasusunan.
  • ndarray.size – Mengembalikan bilangan elemen dalam tatasusunan.
  • ndarray.ndim – Mengembalikan bilangan dimensi.
  • ndarray.dtype – Mengembalikan jenis elemen dalam tatasusunan.
  • ndarray.itemsize – Mengembalikan saiz setiap elemen dalam tatasusunan (dalam bait).

arr = np.array([[1, 2, 3], [4, 5, 6]])
print("Shape:", arr.shape)
print("Size:", arr.size)
print("Dimensions:", arr.ndim)
print("Data type:", arr.dtype)
print("Item size:", arr.itemsize)


Salin selepas log masuk

Keluaran Jangkaan:


Shape: (2, 3)
Size: 6
Dimensions: 2
Data type: int32
Item size: 4


Salin selepas log masuk

Pembentukan Semula Tatasusunan

  • membentuk semula(bentuk) – Membentuk semula tatasusunan kepada bentuk yang ditentukan tanpa mengubah datanya.
  • ravel() – Mengembalikan versi tatasusunan (1D) yang diratakan.
  • transpose() – Mengubah tatasusunan.

reshaped = arr.reshape(3, 2)
flattened = arr.ravel()
transposed = arr.transpose()


Salin selepas log masuk

Keluaran Jangkaan:


Reshaped array: [[1 2]
                 [3 4]
                 [5 6]]
Flattened array: [1 2 3 4 5 6]
Transposed array: [[1 4]
                   [2 5]
                   [3 6]]


Salin selepas log masuk

6. Pengindeksan Tatasusunan, Menghiris dan Mengubah Suai Elemen

Tatasusunan NumPy menyediakan cara yang berkuasa untuk mengakses, menghiris dan mengubah suai data, membolehkan anda bekerja dengan cekap dengan tatasusunan 1D, 2D dan 3D. Dalam bahagian ini, kami akan meneroka cara mengakses elemen dan mengubah suai tatasusunan menggunakan pengindeksan dan penghirisan.

Pengindeksan Asas

Anda boleh mengakses elemen tatasusunan menggunakan kurungan segi empat sama [ ]. Pengindeksan berfungsi untuk tatasusunan mana-mana dimensi, termasuk tatasusunan 1D, 2D dan 3D.

Pengindeksan Tatasusunan 1D

Anda boleh mengakses elemen individu tatasusunan 1D dengan menyatakan indeksnya.


arr = np.array([1, 2, 3, 4])
print(arr[1])  # Access second element


Salin selepas log masuk

Keluaran Jangkaan:


2


Salin selepas log masuk

Pengindeksan Tatasusunan 2D

Dalam tatasusunan 2D, anda boleh mengakses elemen dengan menentukan indeks baris dan lajur. Formatnya ialah arr[baris, lajur].


arr_2d = np.array([[1, 2, 3], [4, 5, 6]])
print(arr_2d[1, 2])  # Access element at row 1, column 2


Salin selepas log masuk

Keluaran Jangkaan:


6


Salin selepas log masuk
Salin selepas log masuk

Pengindeksan Tatasusunan 3D

Untuk tatasusunan 3D, anda perlu menentukan tiga indeks: kedalaman, baris dan lajur. Formatnya ialah arr[kedalaman, baris, lajur].


arr_3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print(arr_3d[1, 0, 1])  # Access element at depth 1, row 0, column 1


Salin selepas log masuk

Keluaran Jangkaan:


6


Salin selepas log masuk
Salin selepas log masuk

Menghiris

Menghiris digunakan untuk mengekstrak subarray daripada tatasusunan yang lebih besar. Sintaks untuk menghiris ialah start:stop:step. Indeks permulaan adalah inklusif, manakala indeks berhenti adalah eksklusif.

Penghirisan Tatasusunan 1D

Anda boleh menghiris tatasusunan 1D dengan menyatakan indeks mula, henti dan langkah.


arr = np.array([10, 20, 30, 40, 50])
print(arr[1:4])  # Slicing from index 1 to 3 (exclusive of index 4)


Salin selepas log masuk

Expected Output:


[20 30 40]


Salin selepas log masuk

2D Array Slicing

In a 2D array, you can slice both rows and columns. For example, arr[start_row:end_row, start_col:end_col] will slice rows and columns.


arr_2d = np.array([[10, 20, 30], [40, 50, 60], [70, 80, 90]])
print(arr_2d[1:3, 0:2])  # Rows from index 1 to 2, Columns from index 0 to 1


Salin selepas log masuk

Expected Output:


[[40 50]
 [70 80]]


Salin selepas log masuk

3D Array Slicing

For 3D arrays, slicing works similarly by specifying the range for depth, rows, and columns.


arr_3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print(arr_3d[1:, 0, :])  # Depth from index 1, Row 0, All columns


Salin selepas log masuk

Expected Output:


[[5 6]]


Salin selepas log masuk

Boolean Indexing

Boolean indexing allows you to filter elements based on a condition. The condition returns a boolean array, which is then used to index the original array.


arr = np.array([10, 15, 20, 25, 30])
print(arr[arr > 20])  # Extract elements greater than 20


Salin selepas log masuk

Expected Output:


[25 30]


Salin selepas log masuk

Adding, Removing, and Modifying Elements

You can also modify arrays by adding, removing, or altering elements using various functions.

Adding Elements

You can append or insert elements into arrays with the following methods:

  • np.append(arr, values) – Appends values to the end of an array.
  • np.insert(arr, index, values) – Inserts values at a specified index.
  • np.concatenate([arr1, arr2]) – Concatenates two arrays along an existing axis.

arr = np.array([1, 2, 3])
appended = np.append(arr, 4)  # Add 4 at the end
inserted = np.insert(arr, 1, [10, 20])  # Insert 10, 20 at index 1
concatenated = np.concatenate([arr, np.array([4, 5])])  # Concatenate arr with another array


Salin selepas log masuk

Expected Output:


Appended: [1 2 3 4]
Inserted: [ 1 10 20  2  3]
Concatenated: [1 2 3 4 5]


Salin selepas log masuk

Removing Elements

To remove elements from an array, you can use np.delete().

  • np.delete(arr, index) – Deletes the element at the specified index.
  • np.delete(arr, slice) – Deletes elements in a slice of the array.

arr = np.array([1, 2, 3, 4])
deleted = np.delete(arr, 1)  # Remove element at index 1
slice_deleted = np.delete(arr, slice(1, 3))  # Remove elements from index 1 to 2 (exclusive of 3)


Salin selepas log masuk

Expected Output:


Deleted: [1 3 4]
Slice deleted: [1 4]


Salin selepas log masuk

7. Mathematical Operations

NumPy supports element-wise operations, broadcasting, and a variety of useful mathematical functions.

Basic Arithmetic

You can perform operations like addition, subtraction, multiplication, and division element-wise:


arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
print(arr1 + arr2)  # Element-wise addition
print(arr1 - arr2)  # Element-wise subtraction
print(arr1 * arr2)  # Element-wise multiplication
print(arr1 / arr2)  # Element-wise division


Salin selepas log masuk

Expected Output:


Addition: [5 7 9]
Subtraction: [-3 -3 -3]
Multiplication: [ 4 10 18]
Division: [0.25 0.4 0.5]


Salin selepas log masuk

Aggregation Functions

These functions return a single value for an entire array.

  • np.sum(arr) – Returns the sum of array elements.
  • np.mean(arr) – Returns the mean of array elements.
  • np.median(arr) – Returns the median of array elements.
  • np.std(arr) – Returns the standard deviation.
  • np.var(arr) – Returns the variance.
  • np.min(arr) / np.max(arr) – Returns the minimum/maximum element.

arr = np.array([1, 2, 3, 4, 5])
print(np.sum(arr))
print(np.mean(arr))
print(np.median(arr))
print(np.std(arr))
print(np.min(arr), np.max(arr))


Salin selepas log masuk

Expected Output:


15


3.0
3.0
1.4142135623730951
1 5


Salin selepas log masuk

8. Broadcasting and Vectorization

NumPy allows operations between arrays of different shapes via broadcasting, a powerful mechanism for element-wise operations.

Example: Broadcasting


arr = np.array([1, 2, 3])
print(arr + 10)  # Broadcasting scalar value 10


Salin selepas log masuk

Expected Output:


[11 12 13]


Salin selepas log masuk

9. Linear Algebra in NumPy

NumPy provides many linear algebra functions, such as:

  • np.dot() – Dot product of two arrays.
  • np.matmul() – Matrix multiplication.
  • np.linalg.inv() – Inverse of a matrix.
  • np.linalg.det() – Determinant of a matrix.
  • np.linalg.eig() – Eigenvalues and eigenvectors.

A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
dot_product = np.dot(A, B)
matrix_mult = np.matmul(A, B)
inv_A = np.linalg.inv(A)
det_A = np.linalg.det(A)


Salin selepas log masuk

Expected Output:


Dot product: [[19 22]
              [43 50]]
Matrix multiplication: [[19 22]
                        [43 50]]
Inverse of A: [[-2.   1. ]
               [ 1.5 -0.5]]
Determinant of A: -2.0


Salin selepas log masuk

10. Other Useful Functions

Sorting

  • np.sort(arr) – Returns a sorted array.

arr = np.array([3, 1, 2])
sorted_arr = np.sort(arr)


Salin selepas log masuk

Expected Output:


[1 2 3]


Salin selepas log masuk
Salin selepas log masuk

Unique Values

  • np.unique(arr) – Returns the sorted unique elements of an array.

arr = np.array([1, 2, 2, 3, 3, 3])
unique_vals = np.unique(arr)


Salin selepas log masuk

Expected Output:


[1 2 3]


Salin selepas log masuk
Salin selepas log masuk

Stacking and Splitting

  • np.vstack() – Stacks arrays vertically.
  • np.hstack() – Stacks arrays horizontally.
  • np.split() – Splits arrays into multiple sub-arrays.

arr1 = np.array([1, 2])
arr2 = np.array([3, 4])
vstacked = np.vstack((arr1, arr2))
hstacked = np.hstack((arr1, arr2))
splits = np.split(np.array([1, 2, 3, 4]), 2)


Salin selepas log masuk

Expected Output:


Vertical stack: [[1 2]
                 [3 4]]
Horizontal stack: [1 2 3 4]
Splits: [array([1, 2]), array([3, 4])]


Salin selepas log masuk

Conclusion

NumPy is an essential library for any Python user working with large amounts of numerical data. With its efficient handling of arrays and vast range of mathematical operations, it lays the foundation for more advanced topics such as machine learning, data analysis, and scientific computing.

Atas ialah kandungan terperinci Lembaran Penipuan Numpy. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan