Hướng dẫn np.empty trong python

Trong bài viết trước tôi đã giới thiệu cho bạn về NumPy, lợi ích của nó, cách cài đặt nó để sử dụng, tìm hiểu về Mảng trong NumPy, kiểu dữ liệu trong NumPy. Trong bài viết này chúng ta sẽ tiếp tục tìm hiểu về các kiểu dữ liệu khác trong NumPy

Tạo mảng

Để tạo một mảng NumPy, bạn có thể sử dụng hàm np.array [] . Để tạo mảng bạn cần chuyền một danh sách cho nó.

#Load Library
import numpy as np

#create an array
a = np.array[[1, 2, 3]]

Bên cạnh việc tạo mảng từ một chuỗi các phần tử, bạn có thể dễ dàng tạo mảng bằng cách sử dụng các hàm khác. Các chức năng được thảo luận như sau: numpy.zeros: Bạn có thể dễ dàng tạo một mảng chứa các số 0 bằng cách sử dụng numpy.zeros vì nó trả về một mảng mới có kích thước được chỉ định, chứa đầy các số không.

np.zeros [2]

output sẽ là: [0., 0.]

Chú ý: Đừng nhầm lẫn với np.zeros và numpy.zeros . Vì tôi đã nhập thư viện NumPy dưới dạng: nhập numpy dưới dạng np , đó là lý do tôi sử dụng np.zeros .

numpy.ones: trả về một mảng mới có kích thước và kiểu được chỉ định, chứa đầy các mảng.

np.ones [5] ouput: [ 1. 1. 1. 1. 1.]

numpy.empty: Hàm trống tạo một mảng có nội dung ban đầu là ngẫu nhiên và phụ thuộc vào trạng thái của bộ nhớ.

# Create an empty array with 2 elements np.empty[2]

Output: [ 5.26288483e+064 -1.80841072e-141]

Chú ý: Các phần tử trong một mảng hiển thị các giá trị ngẫu nhiên vì chúng không được khởi tạo.

Kiểu dữ liệu mặc định là floating point [float64], bạn có thể chỉ định rõ ràng kiểu dữ liệu nào bạn muốn bằng cách sử dụng dtype như tôi giới thiệu ở bài trước

a = np.empty[[3,2], dtype = int]

output hiển thị mảng 3 x 2:

    [[ 873918640      32764]
     [ 873923184      32764]
     [1851858988 1752375396]]

numpy.arange: Bạn có thể tạo một mảng với một loạt các phần tử. Ex: input arange [4]

output: [0, 1, 2, 3]

Hoặc thậm chí là một mảng có chứa một loạt các khoảng cách đều nhau. Để làm điều này, bạn sẽ chỉ định số đầu tiên , số cuối cùng và kích thước step .

Input: np.arange[2,9,2]

Output: [2, 4, 6, 8]

numpy.linspace: Hàm này tương tự như hàm arange []. Trong hàm này, thay vì kích thước step, số lượng các giá trị cách đều giữa khoảng được chỉ định. Input: linspace [10,20,5] Output: [10. 12.5 15. 17.5 20. ]

Sửa đổi mảng

Giả sử ta có Array như sau: arr = np.array [[1, 2, 3, 4, 5, 6, 7, 8]]

Ta có thể thêm các phần tử vào mảng của mình bất kỳ lúc nào với np.append [] . Đảm bảo chỉ định mảng và các phần tử bạn muốn đưa vào.

Input: np.append [arr, [1,2]]

Ouput: [[1, 2, 3, 4, 5, 6, 7, 8, 1, 2]]

Xóa trong mảng

Ta có thể xóa một phần tử bằng np.delete [] . Nếu bạn muốn xóa phần tử ở vị trí 1 trong mảng của mình, bạn có thể chạy:

Input: np.delete [arr, 1]

Output: [[1, 3, 4, 5, 6, 7, 8]]

Chú ý: Chỉ số của một mảng bắt đầu bằng 0, vì vậy vị trí phần tử 1 là thực tế là thứ 2.

Định hình lại mảng [Reshaping Array]

Sử dụng np.reshape [] sẽ cung cấp một hình dạng mới cho một mảng mà không làm thay đổi dữ liệu. Chỉ cần nhớ rằng khi bạn sử dụng hàm reshape, mảng bạn muốn tạo ra cần có cùng số phần tử với mảng ban đầu. Nếu bạn bắt đầu với một mảng có 12 phần tử, bạn sẽ cần đảm bảo rằng mảng mới của bạn cũng có tổng số 12 phần tử.

Trước khi chuyển sang phương pháp định hình lại, điều quan trọng là phải biết hình dạng và kích thước mảng của bạn. Để có được điều này, NumPy cung cấp cho chúng ta một số chức năng:

ndarray.ndim sẽ cho bạn biết số lượng trục hoặc kích thước của mảng.

ndarray.size sẽ cho bạn biết tổng số phần tử của mảng. Đây là sản phẩm của các phần tử của hình dạng của mảng.

ndarray.shape sẽ hiển thị một bộ số nguyên cho biết số lượng phần tử được lưu trữ dọc theo mỗi chiều của mảng. Ví dụ: nếu bạn có một mảng 2D với 2 hàng và 3 cột, hình dạng của mảng của bạn là [2,3].

Giả sử, chúng ta bắt đầu với mảng này:

arr = np.array [[[1,2,3], [4,5,6]]] 
print [arr]

sau đó ta tìm kích thước mảng: print [arr.ndim]. output: 2

print [arr.size]. Output: 6

hình dạng của mảng: print [arr.shape] Output: [2, 3]

Sắp xếp mảng

Việc sắp xếp một phần tử rất đơn giản với np.sort [] . Bạn có thể chỉ định trục, loại và thứ tự khi bạn gọi hàm.

Ta bắt đầu với mảng này: arr = np.array [[2, 1, 5, 3, 7, 4, 6, 8]]

Bạn có thể nhanh chóng sắp xếp các số theo thứ tự tăng dần với: print [np.sort [arr]]

Output: [1, 2, 3, 4, 5, 6, 7, 8]

Lập chỉ mục mảng / Cắt lát[Array Indexing / Slicing]

Bạn có thể lập chỉ mục và cắt các mảng NumPy theo cách giống như cách bạn có thể cắt các danh sách Python.

data = np.array [[1,2,3]] 
print [data [0]] 
print [data [1]] 
print [data [0: 2]] 
print [data [1:]] 
print [data [- 2:]]

Output:

1 
2 
[1 2] 
[2 3]

Chúng ta hãy thử và làm tương tự với mảng đa chiều :

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

// Slice items starting from index print a[:]

Output:

[[3 4 5]
 [4 5 6]]

Lưu ý: Đừng nhầm lẫn ở đây, chúng ta đã cắt nó từ chỉ mục 1 trở đi, trong ngắn hạn chỉ mục 0 sẽ bị xóa khỏi đầu.

Nếu bạn muốn chọn các giá trị từ mảng của mình đáp ứng các điều kiện nhất định, nó rất đơn giản với NumPy.

Ví dụ: Ta có mảng này: a = np.array [[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]]

Bạn có thể dễ dàng in tất cả các giá trị trong mảng nhỏ hơn 5.

print [a [a = 5] print [a [five_up]]

Ouput: [5 6 7 8 9 10 11 12]

Hoặc bạn có thể chọn các phần tử thỏa mãn hai điều kiện bằng cách sử dụng dấu & và | toán tử:

Input: ``` c = a [[a> 2] & [a 5] | [a == 5] print[five_up]


Output:

```python
[[False False False False]
 [ True  True  True  True]
 [ True  True  True  True]]

Bạn cũng có thể sử dụng np.where [] để chọn các phần tử hoặc chỉ số từ một mảng.

Ta có mảng

a = np.array [[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]]

Bạn có thể sử dụng np.where [] để in các chỉ số của các phần tử, ví dụ: nhỏ hơn 5:

Input:

b = np.where [a 

Bài Viết Liên Quan

Chủ Đề