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 Show
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ó.
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:
output sẽ là: 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 .
Output: 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
output hiển thị mảng 3 x 2:
output: 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: Output:
Sửa đổi mảngGiả sử ta có Array như sau: 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 Input: Ouput: Xóa trong mảngTa có thể xóa một phần tử bằng Input: Output: 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 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:
Giả sử, chúng ta bắt đầu với mảng này:
sau đó ta tìm kích thước mảng:
hình dạng của mảng: Sắp xếp mảngViệ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: Bạn có thể nhanh chóng sắp xếp các số theo
thứ tự tăng dần với: Output: 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.
Output:
Chúng ta hãy thử và làm tương tự với mảng đa chiều :
// Slice items starting from index Output:
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: Bạn có thể dễ dàng in tất cả các giá trị trong mảng nhỏ hơn 5.
bạn cũng có thể chọn các số bằng hoặc lớn hơn 5 và sử dụng điều kiện đó để lập chỉ mục một mảng.
Ouput: 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 <11)] print (c)
five_up = (a > 5) | (a == 5) print(five_up)
Bạn cũng có thể sử dụng Ta có mảng
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:
Output: Xếp chồng mảngJoining ArrayJoining có nghĩa là đưa nội dung của hai hoặc nhiều
mảng vào một mảng duy nhất. Chúng ta truyền một chuỗi các mảng mà chúng ta muốn nối vào
Output: với mảng 2D:
Output:
Nối các mảng bằng các hàm ngăn xếp(Joining Arrays Using Stack Functions)Xếp chồng cũng giống như nối, khác biệt duy nhất là xếp chồng được thực hiện dọc theo một trục mới. Chúng ta có thể nối hai mảng 1-D dọc theo trục thứ hai, điều này sẽ dẫn đến việc đặt chúng chồng lên nhau, tức là. xếp chồng.
Output:
Xếp chồng lên hàngNumPy cung cấp một chức năng trợ giúp: hstack()xếp chồng dọc theo hàng.
Output: Xếp chồng dọc theo cộtNumPy cung cấp một chức năng trợ giúp:
Output:
Tách mảngChia tách là hoạt động ngược lại của Gia nhập. Tham gia hợp nhất nhiều mảng thành một và Chia tách sẽ
chia một mảng thành nhiều mảng. Chúng tôi sử dụng
Output: Chia thành các mảngGiá trị trả về của
Output:
Tách mảng 2-DSử dụng cú pháp tương tự khi tách mảng
2-D. Sử dụng
OUtput
Bạn có thể chia một mảng thành nhiều mảng nhỏ hơn bằng cách sử dụng function Ví dụ ta có mảng này:
Nếu bạn muốn chia mảng này thành ba mảng có hình dạng bằng nhau, ta sẽ chạy: Input:
Output:
Array OperationsCác thao tác cơ bản đơn giản với NumPy. Nếu bạn muốn tìm tổng của các phần tử trong một mảng, bạn sẽ sử dụng sum (). Điều này hoạt động đối với mảng 1D, mảng 2D và mảng ở kích thước cao hơn.
Output: Với Array 3x4:
Output: Tương tự, các phép toán số học khác như cộng (), trừ (), nhân () và chia () cũng dễ sử dụng:
Lưu ý - Các mảng đầu vào để thực hiện các phép toán số học như cộng (), trừ (), nhân () và chia () phải có cùng hình dạng hoặc phải tuân theo quy tắc phát mảng. Phát sóng mảng(Array Broadcasting)Thuật ngữ phát sóng hay đề cập đến khả năng của NumPy để xử lý các mảng có hình dạng khác nhau trong các phép toán số học. Các phép toán số học trên mảng thường được thực hiện trên các phần tử tương ứng. Nếu hai mảng có hình dạng hoàn toàn giống nhau thì các thao tác này được thực hiện trơn tru.
Output: Nếu kích
thước của hai mảng không giống nhau (tức là không giống nhau), thì không thể thực hiện các thao tác giữa phần tử với phần tử. Tuy nhiên, các thao tác trên các mảng có hình dạng không giống nhau vẫn có thể thực hiện được trong NumPy, vì khả năng phát sóng. Mảng nhỏ hơn được Ex:
Hình sau minh họa cách mảng b được phát sóng để tương thích với a . Output:
Lặp lại các mảngLặp lại có nghĩa là đi qua từng phần tử một. Khi chúng ta xử lý mảng nhiều chiều trong numpy, chúng ta có thể thực hiện việc này bằng cách sử dụng vòng for lặp cơ bản của python. Nếu chúng ta lặp lại trên một mảng 1-D, nó sẽ đi qua từng phần tử một.
Output:
Lặp lại Mảng 2-DTrong mảng 2-D, nó sẽ đi qua tất cả các hàng.
Output:
Tham khảo:Numpy Tutorial Numpy.org Numpy Medium |