Tìm Hiểu Thư Viện Numpy Trong Python - Japan IT Work
Numpy (Numeric Python): là một thư viện toán học phổ biến và mạnh mẽ của Python. Cho phép làm việc hiệu quả với ma trận và mảng, đặc biệt là dữ 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 “core Python” đơn thuần.
Hãy cùng tìm hiểu về thư viện này trong bài viết dưới đây:
Cài đặt thư viện Numpy
- Mở Command Prompt và gõ lệnh:
pip install numpyCác thao tác với Numpy
1. Khai báo thư viện
import numpy as np2. Khởi tạo mảng
a) 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]b) Khởi tạo mảng hai chiều
arr1 = np.array([(4,5,6), (1,2,3)], dtype = int) print(arr1)OUTPUT:
[[4 5 6] [1 2 3]]c) Khởi tạo mảng ba 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]]]d) Khởi tạo với 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 3x4.
- 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 2x3.
- np.eye(4, dtype=int): Tạo ma trận đơn vị với kích thước là 4x4.
- 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 2x3.
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.
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: 3Truy cập 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.
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 mảng từ file .txt
diem_2a = np.loadtxt('Diem_2A.txt', dtype = int, delimiter=',') #ở đây tất cả phần tử là số nguyên nên mình để kiểu int cho dễ nhìn, các phần tử phân tách nhau bởi dấu "," print("File dữ liệu điểm lớp 2A:\n", diem_2a)
Output
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.
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.0NumPy dtype
Basic Type | Available Numpy types | Comments |
Boolean | bool | Elements are 1 byte in size. |
Integer | int8, int16, int32, int64, int128, int | int defaults to the size of int in C for the platform. |
Unsigned Integer | uint8, uint16, uint32, uint64, uint128, uint | uint defaults to the size of unsigned int in c for the platform. |
Float | float32, float64, float, longfloat | Float is always a double precision floating point value (64 bits). longfloat represents large precision floats. Its size is platform dependent. |
Complex | complex64, complex128, complex | The real and complex elements of a complex64 are each represented by a single precision (32 bit) value for a total size of 64 bits. |
Strings | str, unicode | Unicode is always UTF32 (UCS4) |
Object | object | Represent items in array as Python objects. |
Records | void | Used for arbitrary data structures in record arrays. |
Toán tử trong NumPy Array
a = np.array([2,1,3,4,5])
Toán tử | Ví dụ | Kết quả |
(+) Một số với mảng | 3 + arr arr +3 | [4, 6, 7, 8, 9] |
(+) Mảng với mảng | arr + a a + arr | [3, 4, 7, 9, 11] |
(-) Một số với mảng | arr - 3 3 - arr | [-2, 0, 1, 2, 3] [2, 0, -1, -2, -3] |
(-) Mảng với mảng | arr - a a - arr | [-1, 2, 1, 1, 1] [1, -2, -1, -1, -1] |
(*) Một số với mảng | arr * 3 3 * arr | [3, 9, 12, 15, 18] |
(*) Mảng với mảng | arr * a a * arr | [2, 3, 12, 20, 30] |
(/) Một số với mảng | arr / 3 3 / arr | [0.33333333, 1., 1.33333333, 1.66666667, 2.] [3., 1., 0.75, 0.6, 0.5] |
(/) Mảng với mảng | arr / a a / arr | [0.5, 3., 1.33333333, 1.25, 1.2] [2., 0.33333333, 0.75, 0.8, 0.83333333] |
Hạng của ma trận | np.rank(arr) np.rank(arr1) | 1 2 |
Lời kết
Như vậy là mình đã giới thiệu cơ bản cho bạn về thư viện NumPy trong Python, nếu bạn muốn tìm hiểu thêm về thư viện NumPy thì bạn có thể vào ĐÂY để tham khảo thêm. Ở bài sau mình sẽ giới thiệu cho các bạn về cách xử lý dữ liệu với thư viện Pandas.
Theo codelearn.io
Japan IT Works
Từ khóa » Np.uint8 Là Gì
-
Tìm Hiểu Thư Viện NumPy Trong Python - CodeLearn
-
Tìm Hiểu Về Thư Viện Numpy Trong Python(Phần 1) - Viblo
-
Bài 3: Kiểu Dữ Liệu - Numpy Trong Python - VnCoder
-
Làm Cách Nào để Chuyển đổi Một Mảng Numpy Thành (và Hiển Thị ...
-
Chuyển đổi ray Của Loại Float64 Thành Các Giá Trị Tỷ Lệ Loại Uint8
-
Bài 3: Kiểu Dữ Liệu - Numpy Trong Python - LIVESHAREWIKI
-
Kiểu Dữ Liệu Trong Numpy | Lập Trình Từ Đầu
-
Chi Tiết Bài Học 28. Data Type Objects, Dtype - Vimentor
-
NumPy Datatypes Trong Thư Viện NumPy - W3seo Kiểu Dữ Liệu
-
Bài 21 - Tiền Xử Lý ảnh OpenCV
-
Chuyển đổi ảnh OpenCV Sang Pillow Và Ngược Lại - Minh Nguyen
-
Học Nhanh Python Trong 30 Phút - Lập Trình Không Khó
-
Tìm Hiểu Thư Viện NumPy Trong Python | Đất Xuyên Việt
-
Python: NumPy Arange(): Cách Sử Dụng ange ... - V1Study