Tổng quan thư viện NumPy trong Python

NumPy được biết đến là thư viện xử lý mảng được sử dụng rộng rãi trong Python. Trong bài viết này, Got It sẽ giúp bạn có cái nhìn khái quát nhất về thư viện này nhé!

1. NumPy trong Python là gì?

NumPy hay Numeric Python là thư viện lõi phục vụ cho khoa học máy tính của Python. Nó cung cấp một đối tượng mảng đa chiều hiệu suất cao và các công cụ để làm việc với các mảng này.

NumPy chứa các tính năng khác nhau bao gồm những tính năng quan trọng sau:

  • Đối tượng mảng N-chiều mạnh mẽ
  • Các chức năng broadcasting
  • Phép biến đổi Fourier, khả năng số ngẫu nhiên
  • Các công cụ để tích hợp mã C / C ++ và Fortran.

Bên cạnh những công dụng khoa học rõ ràng, NumPy cũng có thể được sử dụng như một nơi chứa dữ liệu chung đa chiều hiệu quả. Các kiểu dữ liệu tùy ý có thể được xác định bằng cách sử dụng NumPy, cho phép NumPy tích hợp liền mạch và nhanh chóng với nhiều loại cơ sở dữ liệu.

NumPy được viết bằng ngôn ngữ gì?

NumPy là một thư viện Python được viết một phần bằng Python và hầu hết các phần được viết bằng C hoặc C ++. Và nó cũng hỗ trợ các phần mở rộng bằng các ngôn ngữ khác, thường là C ++ và Fortran.

NumPy có dễ học không?

NumPy là một thư viện trong Python mã nguồn mở chủ yếu được sử dụng để thao tác và xử lý dữ liệu dưới dạng mảng. Nó rất dễ học vì nó hoạt động nhanh, hoạt động tốt với các thư viện khác, có nhiều chức năng tích hợp và cho phép bạn làm các phép toán ma trận.

2. Cài đặt NumPy

Người dùng Mac và Linux có thể cài đặt NumPy thông qua lệnh pip:

pip install numpy

Đối với Windows, bạn vui lòng tải xuống trình cài đặt cửa sổ được tạo sẵn cho NumPy từ đây (theo cấu hình hệ thống và phiên bản Python của bạn). Sau đó cài đặt các gói theo cách thủ công.

3. Các thao tác với NumPy

Khai báo thư viện

import numpy as np

Khởi tạo mảng

Khởi tạo mảng một chiều

#Khởi tạo mảng một chiều với kiểu dữ liệu các phần tử là Integer
arr = np.array([1,3,4,5,6], dtype = int)

#Khởi tạo mảng một chiều với kiểu dữ liệu mặc định
arr = np.array([1,3,4,5,6])

print(arr)

Output:

[1 3 4 5 6]

Khởi tạo mảng hai chiều

arr2 = np.array(([(2,4,0,6), (4,7,5,6)],
                 [(0,3,2,1), (9,4,5,6)],
                 [(5,8,6,4), (1,4,6,8)]), dtype = int)

print(arr2)

Output:

[[[2 4 0 6]

  [4 7 5 6]]

 [[0 3 2 1]

  [9 4 5 6]]

 [[5 8 6 4]

  [1 4 6 8]]]

Khởi tạo các hàm có sẵn

  • np.zeros((3,4), dtype = int): Tạo mảng hai chiều các phần tử 0 với kích thước 3×4.
  • np.ones((2,3,4), dtype = int): Tạo mảng 3 chiều các phần tử 1 với kích thước 2x3x4.
  • np.arange(1,7,2): Tạo mảng với các phần tử từ 1 – 6 với bước nhảy là 2.
  • np.full((2,3),5): Tạo mảng 2 chiều các phần tử 5 với kích thước 2×3.
  • np.eye(4, dtype=int): Tạo ma trận đơn vị với kích thước là 4×4.
  • np.random.random((2,3)): Tạo ma trận các phần tử ngẫu nhiên với kích thước 2×3.

Thao tác với mảng

  • dtype: Kiểu dữ liệu của phần tử trong mảng.
  • shape: Kích thước của mảng.
  • size: Số phần tử trong mảng.
  • ndim: Số chiều của mảng.
print("Kiểu dữ liệu của phần tử trong mảng:", arr2.dtype)
print("Kích thước của mảng:", arr2.shape)
print("Số phần tử trong mảng:", arr2.size)
print("Số chiều của mảng:", arr2.ndim)

Output:

Kiểu dữ liệu của phần tử trong mảng: int32

Kích thước của mảng: (3, 2, 4)

Số phần tử trong mảng: 24

Số chiều của mảng: 3

Truy cập các phần tử trong mảng

Các phần tử trong mảng được đánh số từ 0 trở đi

  • arr[i]: Truy cập tới phần tử thứ i của mảng 1 chiều.
  • arr1[i,j]: Truy cập tới phần tử hàng i, cột j của mảng 2 chiều.
  • arr2[n,i,j]: Truy cập tới phần tử chiều n, hàng i, cột j của mảng 3 chiều.
  • arr[a:b]: Truy cập tới các phần tử từ a đến b-1 trong mảng 1 chiều.
  • arr1[:,:i]: Truy cập tới phần tử từ cột 0 đến cột i-1, của tất cả các hàng trong mảng 2 chiều.
print("arr[2]=", arr[2])
print("arr1[1:2]=", arr1[1,2])
print("arr2[1,2,3]=", arr2[1,1,3])
print("arr[0:3]=", arr[0:3])
print("arr1[:,:1]=", arr1[:,:2])​

Output:

arr[2]= 4

arr1[1:2]= 3

arr2[1,2,3]= 6

arr[0:3]= [1 3 4]

arr1[:,:1]= [[4 5]

            [1 2]]

Các hàm thống kê

  • arr.max() hoặc np.max(arr): Lấy giá trị lớn nhất của mảng arr.
  • arr.min() hoặc np.min(arr): Lấy giá trị nhỏ nhất của mảng arr.
  • arr.sum() hoặc np.sum(arr): Tổng tất cả các phần tử trong mảng arr.
  • arr.mean() hoặc np.mean(arr): Trung bình cộng của tất cả các phần tử trong mảng arr.
  • np.median(arr): Trả về giá trị trung vị của mảng arr.
print("Giá trị lớn nhất của mảng arr là:", np.max(arr))

print("Giá trị nhỏ nhất của mảng arr là:", np.min(arr))

print("Tổng tất cả các phần tử của mảng arr là:", np.sum(arr))

print("Trung bình cộng tất cả các phần tử của mảng arr là:", np.mean(arr))

print("Giá trị trung vị của mảng arr là:", np.median(arr))

Output:

Giá trị lớn nhất của mảng arr là: 6

Giá trị nhỏ nhất của mảng arr là: 1

Tổng tất cả các phần tử của mảng arr là: 19

Trung bình cộng tất cả các phần tử của mảng arr là: 3.8

Giá trị trung vị của mảng arr là: 4.0

Trên đây là cũng kiến thức tổng quan nhất về NumPy trong Python. Chúc các bạn thành công! Hãy theo dõi Got It blog để cập nhật thêm các kiến thức bổ ích về công nghệ thông tin cũng như những công việc hấp dẫn của chúng mình nhé!!!

Nếu bạn quan tâm, hãy xem các vị trí đang tuyển dụng của Got It tại: bit.ly/gotit-hanoi và đọc thêm về quy trình tuyển dụng tại đây.

https://d1iv5z3ivlqga1.cloudfront.net/wp-content/uploads/2021/04/29235048/1_QAG9RXQyyMAY7i9OYo84FA.png
Got It Vietnam
October 07, 2021
Share this post to:
Tags:
0 Comments
Inline Feedbacks
View all comments
Các bài viết liên quan

Các bước tạo một thư viện Python

Tác giả: Minh (Software Engineer | CAI) Trong Tech Blog số này, Got It sẽ cùng bạn tìm hiểu về 6 bước để tạo và phân phối một thư viện Python. Cụ thể, chúng ta sẽ viết một CLI command tương tự cowsay cùng với một function để các package khác có thể import và […]

Sử dụng pre-commit để thực thi PEP8 chỉ trong 3 bước

Tác giả: Kiên (Software Engineer | CAI) Đảm bảo code tuân thủ đầy đủ các quy tắc được đề xuất trong PEP8 là một điều vô cùng quan trọng, đặc biệt là trong làm việc nhóm, khi mà yếu tố dễ đọc, dễ hiểu, và dễ bảo trì code được đặt lên hàng đầu. Dẫu […]
Hướng dẫn cách triển khai và debug code Python trên Docker

Hướng dẫn cách triển khai và debug code Python trên Docker

Tác giả: Kiên (Software Engineer | CAI) Bạn đã bao giờ mất hàng tiếng đồng hồ, thậm chí vài ngày để cài đặt một số thư viện cần thiết cho việc chạy một project trên máy tính của mình chưa? Nếu có thì đây là bài viết dành cho bạn. Thông thường, khi bạn tham […]
Readable Code

Readable Code

Tác giả: Minh (Software Engineer, CAI) & Hương (TPM, CAI) Mục lục1. Readable code là gì?2. Làm thế nào để viết code dễ đọc?2.1. Style guide2.2. Viết function nhỏ, tập trung vào một tính năng2.3. Đặt tên hợp lý2.3.1. Dùng các tiền tố thích hợp để phân loại function2.3.2. Hạn chế thêm thông tin về […]
Tìm hiểu Tuple trong Python, phân biệt Tuple và List

Tìm hiểu Tuple trong Python, phân biệt Tuple và List

Ở bài viết này, chúng ta sẽ cùng đi tìm hiểu về Tuple trong Python, cách sử dụng chúng như thế nào, và sự khác biệt giữa Tuple và List là gì? Tất cả những nội dung trong bài đọc sẽ đều có ví dụ minh hoạ cụ thể, hi vọng các bạn đọc có […]

Anaconda là gì? Tìm hiểu nền tảng Khoa học dữ liệu phổ biến nhất

Để có thể tạo nên một ứng dụng của riêng mình, điều quan trọng nhất đó là phải thiết lập môi trường làm việc đúng cách. Vì vậy, bạn cần các công cụ để xử lý dữ liệu, xây dựng các mô hình và biểu diễn trên đồ thị. Việc sử dụng nhiều công cụ […]