Tìm hiểu về thư viện Numpy trong Python(Phần 1)

Chúng tôi rất vui mừng chia sẻ kiến thức sâu sắc về từ khóa Numpy la gi và hi vọng rằng nó sẽ hữu ích cho các bạn đọc. Bài viết tập trung trình bày ý nghĩa, vai trò và ứng dụng của từ khóa trong việc tối ưu hóa nội dung trang web và chiến dịch tiếp thị trực tuyến. Chúng tôi cung cấp các phương pháp tìm kiếm, phân tích và chọn lọc từ khóa phù hợp, kèm theo các chiến lược và công cụ hữu ích. Hi vọng rằng thông tin chúng tôi chia sẻ sẽ giúp bạn xây dựng chiến lược thành công và thu hút lưu lượng người dùng. Cảm ơn sự quan tâm và hãy tiếp tục theo dõi blog của chúng tôi để cập nhật kiến thức mới nhất.

Trong khoảng tầm thời kì vừa rồi tôi có thời cơ được thao tác làm việc bằng tiếng nói Python thông qua một dự án về sức khỏe của tổ chức. Sau một khoảng tầm thời kì tìm hiểu, thao tác làm việc tôi nhận thấy đây là một tiếng nói quá mạnh mẽ, nó mạnh mẽ vì sự đa dụng của nó, nó có thể làm được mọi việc liên quan đến lập trình từ làm web, app hay game, nhưng điều khiến python nổi tiếng có nhẽ tới từ việc nó có thể code được cả trong nghành phân tích khoa học tài liệu, xây dựng trí tuệ tự tạo. Một điều nữa cũng khiến Python được yêu thích đó là nó có một hệ sinh thái xanh các thư viện tương trợ cực kì lớn. Nó lớn đến mức thỉnh thoảng tất cả chúng ta phải phân vân nên chọn sử dụng thư viện nào cho hợp lí.

Bạn Đang Xem: Tìm hiểu về thư viện Numpy trong Python(Phần 1)

Trong số hàng triệu thư viện tương trợ Python thì có một thư viện lại gần như được đóng đinh mà bắt buộc lập trình viên nào khi thao tác làm việc với Python cũng cần được phải tìm hiểu đó đó là thư viện NumPy. Trong bài ngày hôm nay tôi xin giới thiệu với những bạn về thư viện NumPy trong Python và cách sử dụng nó trong python.

1. Giới thiệu về thư viện NumPy

Numpy (Numeric Python): là một thư viện toán học rât phổ thông và mạnh mẽ của Python. NumPy được trang bị các hàm số đã được tối ưu, được cho phép thao tác làm việc hiệu quả với ma trận và mảng, nhất là tài liệu ma trận và mảng lớn với tốc độ xử lý nhanh hơn nhiều lần khi chỉ sử dụng Python thuần tuý.

Nếu khách hàng muốn trở thành một lập trình viên khoa học tài liệu chuyên sâu, bạn cần phải phải nắm rõ numpy. Đây là một trong những thư viện hữu ích nhất của python, nhất là nếu khách hàng đang tìm hiểu về các số lượng. Vì phần lớn Khoa học Tài liệu và Máy học xoay quanh Thống kê, nên việc thực hiện trở thành quan trọng hơn nhiều.

NumPy được phát triển bởi Jim Hugunin. Phiên bản thuở đầu là Numarray được phát triển, có một số chức năng bổ sung. Năm 2005, Travis Oliphant đã tạo ra gói NumPy bằng phương pháp phối hợp các tính năng của Numarray và gói Numeric.

Sử dụng NumPy, lập trình viên có thể thực hiện các thao tác sau:

  • Các phép toán toán học và logic trên mảng.

  • Các chuyển đổi Fourier và các quy trình để thao tác shape.

  • Các phép toán liên quan đến đại số tuyến tính. NumPy tích hợp sẵn các hàm cho đại số tuyến tính và tạo số tình cờ.

NumPy – Sự thay thế hoàn hảo cho MatLab

NumPy thường được sử dụng cùng với những gói như SciPy (Python Scientific) và Mat-plotlib (thư viện vẽ đồ thị). Sự phối hợp này được sử dụng rộng rãi để thay thế cho MatLab, một nền tảng phổ thông cho tính toán kỹ thuật. Tuy nhiên, Python thay thế cho MatLab hiện được xem như một tiếng nói lập trình hoàn thiện và tiến bộ hơn.Điều quan trọng hơn hết là Numpy là một thư viện mã nguồn mở, miễn phí so với MatLab là một thư viện mã nguồn đóng và phải trả phí .

Cách tùy chỉnh cấu hình NumPy

Trong bài này tôi sẽ thực hiện trên ubuntu và Framework Django, nếu khách hàng đang làm việc trên HĐH khác thì chỉ việc gg là đều được bố trí theo hướng dẫn chi tiết cụ thể

Trước hết mở Terminal lên và nhập

sudo apt install python3-pip pip install numpy

Bạn phải phải tùy chỉnh cấu hình Numpy thông qua pip

Sau khoản thời gian đã tùy chỉnh cấu hình xong NumPy, tất cả chúng ta cần import nó để sử dụng như các thư viện khác của Python để sử dụng các hàm số của NumPy:

import numpy as np

Sau khoản thời gian tùy chỉnh cấu hình xong tất cả chúng ta sẽ tìm hiểu về các kiểu tài liệu trong Numpy

1. Mảng

Mảng là một cấu trúc tài liệu chứa một nhóm các thành phần. Thông thường, tất cả những thành phần này còn có cùng kiểu tài liệu, ví dụ như số nguyên hoặc chuỗi. Chúng thường được sử dụng trong các Khóa học để sắp xếp tài liệu để một bộ giá trị liên quan có thể dễ dàng được sắp xếp hoặc tìm kiếm.

Khi nói đến NumPy, một mảng là một cấu trúc tài liệu trung tâm của thư viện. Đó là một lưới các giá trị và nó chứa thông tin về tài liệu thô, cách xác định vị trí của một thành phần và cách diễn giải một thành phần. Nó có một lưới các thành phần có thể được lập chỉ mục theo rất nhiều cách khác nhau . Tất cả những thành phần có cùng kiểu, được gọi là kiểu mảng (kiểu tài liệu).

Xem Thêm : Giải mã Phoenix Force – Sức mạnh bá đạo nhất trong thế giới X-Men

image

Một mảng có thể được lập chỉ mục bởi một bộ số nguyên không âm, bởi boolean, bởi một mảng khác hoặc bởi số nguyên. Thứ hạng của mảng là số thứ nguyên. Hình dạng của mảng là một loạt các số nguyên cho biết thêm kích thước của mảng dọc theo mỗi chiều. Một cách tất cả chúng ta có thể khởi tạo mảng NumPy là từ list Python lồng nhau.

Một mảng được gọi là cấu trúc tài liệu trung tâm của thư viện NumPy. Mảng trong NumPy được gọi là NumPy Array.

image

Đối tượng người dùng quan trọng nhất được khái niệm trong NumPy là một kiểu mảng N chiều được gọi là ndarray. Nó mô tả bộ sưu tập các mặt hàng cùng loại. Các mục trong bộ sưu tập có thể được truy cập bằng chỉ mục dựa trên số không.

Mọi mục trong một ndarray có cùng kích thước khối trong bộ nhớ. Mỗi thành phần trong ndarray là một đối tượng người sử dụng của đối tượng người sử dụng kiểu tài liệu (được gọi là dtype ).

Bất kỳ mục nào được trích xuất từ ​​đối tượng người sử dụng ndarray (bằng phương pháp cắt) được thay mặt bởi một đối tượng người sử dụng Python thuộc một trong các kiểu vô hướng mảng. Biểu đồ sau đây cho thấy quan hệ giữa ndarray, đối tượng người sử dụng kiểu tài liệu (dtype) và kiểu vô hướng mảng:

image

Một instance của ndarray có thể được xây dựng bằng các quy trình tạo mảng khác nhau được mô tả ở phần sau của hướng dẫn. Ndarray cơ bản được tạo bằng một array function trong NumPy như sau:

numpy.array

Nó tạo ra một ndarray từ bất kỳ đối tượng người sử dụng nào hiển thị giao diện mảng hoặc từ bất kỳ phương thức nào trả về một mảng.

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)

Hàm tạo ở trên nhận thêm các thông số sau:

STT Mô tả thông số 1 object – Bất kỳ đối tượng người sử dụng nào hiển thị phương thức giao diện mảng sẽ trả về một mảng hoặc bất kỳ chuỗi (lồng nhau) nào.. 2 dtype – Kiểu tài liệu mong muốn của mảng, optional 3 copy – Không bắt buộc. Theo mặc định (true), đối tượng người sử dụng được sao chép 4 order – C (hàng chính) hoặc F (cột chính) hoặc A (bất kỳ) (mặc định) 5 subok – Theo mặc định, mảng trả về buộc phải là mảng lớp cơ sở. Nếu như đúng, các lớp con được chuyển qua 6 ndmin – Chỉ định kích thước tối thiểu của mảng kết quả

Ví dụ để hiểu thêm:

import numpy as np a = np.array([1,2,3]) print a

Kết qủa : [1, 2, 3]

# more than one dimensions import numpy as np a = np.array([[1, 2], [3, 4]]) print a

Kết quả : [[1, 2][3, 4]]

# minimum dimensions import numpy as np a = np.array([1, 2, 3,4,5], ndmin = 2) print a

Kết quả : [[1, 2, 3, 4, 5]]

Xem Thêm : Du lịch penang malaysia

Bản thử trực tiếp # dtype parameter import numpy as np a = np.array([1, 2, 3], dtype = complex) print a

Kết qủa : [ 1.+0.j, 2.+0.j, 3.+0.j]

Sự khác biệt giữa Python List và Numpy Array

  • Python List có thể chứa các thành phần với những kiểu tài liệu khác nhau trong lúc các thành phần của Numpy Array luôn đồng nhất (cùng một kiểu tài liệu).
  • Python Array nhanh hơn và nhỏ gọn hơn Python List:
    • NumPy Array sử dụng bộ nhớ nhất định để lưu trữ tài liệu và ít bộ nhớ hơn Python List.
    • Cấp phép bộ nhớ liền kề trong NumPy Array

Loại tài liệu trong NumPy

NumPy tương trợ nhiều kiểu số hơn nhiều so với Python. Bảng sau đây cho thấy các kiểu tài liệu vô hướng khác nhau được xác định trong NumPy.

STT Loại tài liệu & mô tả 1 bool_ – Boolean (Đúng hoặc Sai) được lưu trữ dưới dạng byte 2 int_ – Kiểu số nguyên mặc định (giống C long; thường là int64 hoặc int32) 3 intc – Y sì với int C (thường là int32 hoặc int64) 4 intp – Số nguyên được sử dụng để lập chỉ mục (giống như C ssize_t; thường là int32 hoặc int64) 5 int8 – Byte (-128 đến 127) 6 int16 – Số nguyên (-32768 đến 32767) 7 int32 – Số nguyên (-2147483648 đến 2147483647) 8 int64 – Số nguyên (-9223372036854775808 đến 9223372036854775807) 9 uint8 – Số nguyên không dấu (0 đến 255) 10 uint16 – Số nguyên không dấu (0 đến 65535) 11 uint32 – Số nguyên không dấu (0 đến 4294967295) 12 uint64 – Số nguyên không dấu (0 đến 18446744073709551615) 13 float_ – Viết tắt cho float64 14 float16 – float: bit dấu, số mũ 5 bit, phần định trị 10 bit 15 float32 – float: bit dấu, số mũ 8 bit, phần định trị 23 bit 16 float64 – float: bit dấu, số mũ 11 bit, phần định trị 52 bit 17 complex_ – Viết tắt cho complex128 18 complex64 – Số phức, được trình diễn bằng hai số thực 32 bit (thành phần thực và ảo) 19 complex128 – Số phức, được biểu thị bằng hai số thực 64 bit (thành phần thực và ảo)

Đối tượng người dùng kiểu tài liệu (dtype)

Một đối tượng người sử dụng kiểu tài liệu mô tả diễn giải khối bộ nhớ nhất định tương ứng với một mảng, tùy thuộc vào các khía cạnh sau:

  • Loại tài liệu (số nguyên, đối tượng người sử dụng float hoặc Python)
  • Kích thước của tài liệu
  • Trật tự Byte (little-endian hoặc big-endian)
  • Trong trường hợp kiểu có cấu trúc, tên của khá nhiều trường, kiểu tài liệu của từng trường và một phần của khối bộ nhớ được lấy bởi từng trường.
  • Nếu kiểu tài liệu là một mảng con, hình dạng và kiểu tài liệu của nó

Trật tự byte được quyết định bằng phương pháp thêm tiền tố ‘<‘ hoặc ‘>’ vào kiểu tài liệu. ‘<‘ có tức thị mã hóa có mức giá trị nhỏ (ít quan trọng nhất được lưu trữ tại địa chỉ nhỏ nhất). ‘>’ có tức thị mã hóa là big-endian (byte quan trọng nhất được lưu trữ tại địa chỉ nhỏ nhất).

Một đối tượng người sử dụng dtype được xây dựng bằng cú pháp sau:

numpy.dtype(object, align, copy)

Các thông số là :

  • Đối tượng người dùng – Được chuyển đổi thành đối tượng người sử dụng kiểu tài liệu

  • Căn chỉnh – Nếu như đúng, hãy thêm phần đệm vào trường để làm cho trường tương tự như C-struct

  • Sao chép – Tạo một bản sao mới của đối tượng người sử dụng dtype. Nếu sai, kết quả là tham chiếu đến đối tượng người sử dụng kiểu tài liệu nội trang

Array Indexing

NumPy cung cấp một số phương pháp để truy xuất thành phần trong mảng

Indexing và slicing: Mỗi thành phần trong mảng 1 chiều tương ứng với một chỉ số. Chỉ số trong NumPy, cũng giống như chỉ số trong python, mở màn bằng 0. Nếu mảng 1 chiều có n thành phần thì những chỉ số chạy từ 0 đến n – 1. Và tương tự như list trong python, NumPy arrays cũng xuất hiện thể được cắt (slicing).

# Khởi tạo numpy array có shape = (3, 4) như sau: a = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]] # Dùng chỉ số để lấy thành phần hàng 1, cột 2 print(a[1][2]) # 7 print(a[1, 2]) # 7 # Dùng slicing để lấy 2 hàng trước tiên của 2 cột trước tiên print(a[:2][:2]) # [[1 2] [5 6]] # Phối hợp dùng slicing và indexing # Lưu ý: sẽ tạo ra mảng có rank thấp hơn mảng cũ r1 = a[1, :] # Rank 1, hàng 1 của a print(r1, r1.shape) # [[5 6 7 8]] (4,)

Boolean array indexing:

Được chấp nhận bạn lựa chọn ra các thành phần tùy ý của một mảng, thường được sử dụng để lựa chọn ra các thành phần thỏa mãn ĐK nào đó

a = np.array([[1,2], [3, 4], [5, 6]]) bool_idx = (a > 2) # Tìm các thành phần to ra nhiều thêm 2; # Trả về 1 numpy array of Booleans có shape như mảng a # và giá trị tại mỗi thành phần là # True nếu thành phần của a tại đó > 2, # False cho trường hợp trái lại. print(bool_idx) # [[False False] # [True True] # [True True]]”

NumPy là một thư viện toán học phổ thông và mạnh mẽ của Python. Nó được cho phép thao tác làm việc hiệu quả với ma trận và mảng, nhất là tài liệu ma trận và mảng lớn với tốc độ xử lý nhanh hơn nhiều lần khi chỉ sử dụng Python thuần.

Trong nội dung bài viết tôi đã giới thiệu cho bạn về NumPy, lợi ích của nó, cách tùy chỉnh cấu hình nó để sử dụng, tìm hiểu về Mảng tronng NumPy, kiểu tài liệu trong NumPy. Trong nội dung bài viết tiếp theo chungs ta sẽ tiếp tục tìm hiểu về các kiểu tài liệu khác trong NumPy

Tham khảo:

Numpy Tutorial Numpy.org Numpy Medium

You May Also Like

About the Author: v1000