fbpx
close

NumPy là gì? Tổng quan về thư viện NumPy trong Python

Tác giả: Đông Tùng Ngày cập nhật: 28/12/2023 Chuyên mục: Chưa phân loại
Disclosure
Website Wiki.tino.org được cung cấp bởi Tino Group. Truy cập và sử dụng website đồng nghĩa với việc bạn đồng ý với các điều khoản và điều kiện trong chính sách bảo mật - điều khoản sử dụng nội dung. Wiki.tino.org có thể thay đổi điều khoản sử dụng bất cứ lúc nào. Việc bạn tiếp tục sử dụng Wiki.tino.org sau khi thay đổi có nghĩa là bạn chấp nhận những thay đổi đó.
Why Trust Us
Các bài viết với hàm lượng tri thức cao tại wiki.tino.org được tạo ra bởi các chuyên viên Marketing vững chuyên môn và được kiểm duyệt nghiêm túc theo chính sách biên tập bởi đội ngũ biên tập viên dày dặn kinh nghiệm. Mọi nỗ lực của chúng tôi đều hướng đến mong muốn mang đến cho cộng đồng nguồn thông tin chất lượng, chính xác, khách quan, đồng thời tuân thủ các tiêu chuẩn cao nhất trong báo cáo và xuất bản.

Khi bắt đầu khám phá sâu hơn vào thế giới phong phú của lập trình Python, bạn không thể bỏ qua một công cụ mạnh mẽ mà hầu hết các nhà khoa học dữ liệu và nhà nghiên cứu sử dụng. Đó là NumPy. Vậy cụ thể NumPy là gì? Các bạn hãy cùng TinoHost tìm hiểu qua bài viết dưới đây nhé!

Tổng quan về NumPy

NumPy là gì?

NumPy (viết tắt của Numerical Python) là một thư viện quan trọng trong lập trình Python. Công cụ này được tạo ra bởi một cộng đồng các nhà nghiên cứu và nhà phát triển với mục đích giúp các lập trình viên thao tác dữ liệu số học và thực hiện các phép toán toán học phức tạp một cách hiệu quả.

Một trong những ưu điểm nổi bật của NumPy là khả năng làm việc với mảng đa chiều (arrays) và ma trận, cho phép lưu trữ và xử lý dữ liệu dễ dàng. Đây không chỉ là một công cụ hữu ích cho các nhà khoa học dữ liệu, mà còn là một lựa chọn tuyệt vời cho những người làm việc trong các lĩnh vực như khoa học máy tính, xử lý ảnh và thị giác máy tính.

numpy-viet-tat-cua-numerical-python-la-mot-thu-vien-quan-trong-trong-lap-trinh-python
NumPy (viết tắt của Numerical Python) là một thư viện quan trọng trong lập trình Python

NumPy cung cấp một loạt các hàm và phương pháp giúp thực hiện các phép toán toán học, thống kê và biểu đồ hóa dữ liệu vô cùng linh hoạt. Đồng thời, đây cũng là một phần quan trọng của hệ sinh thái các thư viện tính toán trong Python. Với NumPy, việc xử lý dữ liệu số học trở nên dễ dàng và hiệu quả hơn, giúp Python trở thành một trong những ngôn ngữ lập trình phổ biến nhất trong lĩnh vực khoa học dữ liệu và nghiên cứu toán học.

Các tính năng nổi bật của NumPy

Mảng đa chiều (Arrays)

NumPy cho phép tạo ra và quản lý các Arrays (mảng), giúp lưu trữ dữ liệu số học một cách dễ dàng và hiệu quả. Nhờ đó, việc xử lý các tập dữ liệu phức tạp trở nên thuận tiện hơn.

Phép toán số học

NumPy cung cấp các phép toán toán học như cộng, trừ, nhân, chia trên mảng dữ liệu nhanh chóng. Các phép toán này được tối ưu hóa để xử lý dữ liệu lớn hiệu quả hơn.

Phép toán Vectorized

NumPy cho phép thực hiện các phép toán trên toàn bộ mảng dữ liệu, không cần viết vòng lặp. Điều này giúp tăng tốc độ xử lý dữ liệu đáng kể so với việc sử dụng các danh sách thông thường trong Python.

phep-toan-Vectorized
Phép toán Vectorized

Broadcasting

NumPy tự động mở rộng kích thước của các mảng để phù hợp với nhau trong các phép toán. Do đó, các phép toán giữa các mảng có kích thước khác nhau có thể được thực hiện mà không cần phải thay đổi kích thước của chúng theo cách thủ công.

Hàm toán học và thống kê

NumPy cung cấp một loạt các hàm toán học và thống kê như sin, cos, mean, median, std,…để xử lý dữ liệu số học.

Indexing và Slicing

NumPy hỗ trợ các phép indexing và slicing trên mảng dữ liệu giúp bạn truy cập và chỉnh sửa dữ liệu một cách dễ dàng.

Phép toán trên mảng logic

NumPy cho phép bạn thực hiện các phép toán logic như AND, OR, NOT trên mảng dữ liệu một cách dễ dàng.

Phép toán đại số tuyến tính

NumPy cung cấp nhiều hàm và phương thức để thực hiện các phép toán đại số tuyến tính như ma trận chuyển vị, nhân ma trận, giải hệ phương trình tuyến tính và nhiều thuật toán khác.

numpy-cung-cap-nhieu-ham-de-thuc-hien-cac-phep-toan-dai-so-tuyen-tinh
NumPy cung cấp nhiều hàm để thực hiện các phép toán đại số tuyến tính

Làm việc với dữ liệu đa chiều

NumPy cho phép bạn thực hiện các phép toán trên dữ liệu đa chiều, thích hợp cho việc xử lý hình ảnh, âm thanh và các dữ liệu khoa học khác.

Tích hợp C với Python

NumPy được viết bằng ngôn ngữ lập trình C, điều này giúp tăng hiệu suất của các phép toán, đặc biệt là trên các mảng dữ liệu lớn.

Tích hợp với các thư viện khác

Cộng đồng người dùng NumPy lớn mạnh, điều này có nghĩa là sẽ có rất nhiều các thư viện và công cụ khác trong hệ sinh thái của Python được xây dựng dựa trên NumPy.

Đồng thời, NumPy cũng tương thích tốt với nhiều thư viện và framework khác trong hệ sinh thái của Python, giúp bạn dễ dàng tích hợp vào các dự án lớn và phức tạp.

Một số hạn chế của NumPy

  • Đối với người mới học lập trình hoặc Python, việc sử dụng NumPy có thể đòi hỏi một thời gian để nắm vững cú pháp và các chức năng của thư viện này.
  • Trong một số ứng dụng như web development, NumPy có thể không cần thiết và không hiệu quả so với các thư viện khác hoặc khi sử dụng ngôn ngữ lập trình khác.
  • Các mảng dữ liệu trong NumPy có thể tốn nhiều bộ nhớ hơn so với các danh sách thông thường trong Python. Điều này có thể là một vấn đề đối với các ứng dụng yêu cầu tiết kiệm bộ nhớ.
  • Tính năng broadcasting có thể dẫn đến kết quả không mong muốn nếu không sử dụng đúng cách, đặc biệt đối với người mới học sử dụng NumPy.

Đối tượng kiểu dữ liệu (dtype) trong NumPy

Số nguyên

arr = np.array([1, 2, 3, 4], dtype='int32')

# dtype của arr là int32

Số thực

arr = np.array([1.1, 2.2, 3.3], dtype='float64')

# dtype của arr là float64

Số nguyên không dấu

arr = np.array([0, 1, 2], dtype='uint8')

# dtype của arr là uint8 (8-bit số nguyên không dấu)

Chuỗi ký tự

arr = np.array(['apple', 'banana', 'cherry'], dtype='str')

# dtype của arr là str (chuỗi ký tự)

Kiểu dữ liệu nguyên thủy của Python:

arr = np.array([1, 2, 3], dtype=object)

# dtype của arr là object (kiểu dữ liệu nguyên thủy của Python)

doi-tuong-kieu-du-lieu-dtype-trong-numpy
Đối tượng kiểu dữ liệu (dtype) trong NumPy

Kiểu dữ liệu tùy chỉnh

Ngoài ra, NumPy cho phép định nghĩa các kiểu dữ liệu tùy chỉnh, giúp xác định cách dữ liệu được lưu trữ và xử lý.

Việc hiểu và quản lý đúng đối tượng kiểu dữ liệu trong NumPy là điều quan trọng để đảm bảo tính chính xác cũng như hiệu suất của các phép toán trong quá trình lập trình.

Các phương thức trong Numpy

Phương thức tạo mảng

  • np.array(): Tạo mảng từ một danh sách hoặc tuple.
  • np.zeros(shape): Tạo mảng với tất cả các phần tử là 0.
  • np.ones(shape): Tạo mảng với tất cả các phần tử là 1.
  • np.random.rand(shape): Tạo mảng với các giá trị ngẫu nhiên từ phân phối đều.

Phương thức thao tác dữ liệu

  • np.shape(): Trả về hình dạng (kích thước) của mảng.
  • np.reshape(new_shape): Thay đổi hình dạng của mảng.
  • np.concatenate((arr1, arr2), axis): Ghép các mảng theo trục được chỉ định.
  • np.split(arr, indices_or_sections, axis): Chia mảng thành các mảng con.
cac-phuong-thuc-trong-numpy
Các phương thức trong Numpy

Phương thức toán học và thống kê

  • np.sum(arr): Tổng các phần tử trong mảng.
  • np.mean(arr): Trung bình các phần tử trong mảng.
  • np.max(arr), np.min(arr): Giá trị lớn nhất và nhỏ nhất trong mảng.
  • np.std(arr): Độ lệch chuẩn của dữ liệu.
  • np.dot(arr1, arr2): Tích vô hướng của hai mảng.

Phương thức truy cập và thay đổi phần tử

  • arr[index]: Truy cập phần tử tại chỉ số index trong mảng.
  • arr[start:stop:step]: Truy cập các phần tử từ vị trí start đến stop với bước step.
  • arr[index] = new_value: Gán giá trị mới cho phần tử tại chỉ số index trong mảng.

Cách sử dụng NumPy cơ bản

Nhập thư viện

Trước tiên, bạn cần import thư viện NumPy vào chương trình Python của mình. Thông thường, người ta sẽ sử dụng np như một biến tắt cho NumPy để gõ ngắn gọn hơn:

import numpy as np

Tạo mảng (Arrays)

Sử dụng np.array() để tạo một mảng. Ví dụ, để tạo một mảng từ một danh sách:

arr = np.array([1, 2, 3, 4, 5])

Thực hiện các phép toán cơ bản

NumPy cho phép bạn thực hiện các phép toán toán học trên mảng một cách dễ dàng. Ví dụ, để cộng hai mảng:

arr1 = np.array([1, 2, 3])

arr2 = np.array([4, 5, 6])

result = np.add(arr1, arr2)

Phép toán đại số tuyến tính

Sử dụng các hàm như np.dot() để thực hiện các phép toán đại số tuyến tính như nhân ma trận:

matrix1 = np.array([[1, 2], [3, 4]])

matrix2 = np.array([[5, 6], [7, 8]])

result = np.dot(matrix1, matrix2)
cach-su-dung-numpy-co-ban
Cách sử dụng NumPy cơ bản

Sử dụng hàm thống kê và toán học

NumPy cung cấp nhiều hàm thống kê và toán học như np.mean(), np.sum(), np.sqrt(), giúp thao tác dữ liệu một cách linh hoạt:

arr = np.array([1, 2, 3, 4, 5])

mean_value = np.mean(arr)

sum_value = np.sum(arr)

Broadcasting

Broadcasting cho phép bạn thực hiện các phép toán trên các mảng có hình dạng khác nhau một cách tự động:

arr1 = np.array([1, 2, 3])

scalar = 2

result = arr1 * scalar # Kết quả: [2, 4, 6]

Truy cập và cắt lấy phần tử trong mảng

Sử dụng chỉ số để truy cập và cắt lấy các phần tử trong mảng NumPy như bạn làm với danh sách thông thường.

Ví dụ một bài toán đơn giản sử dụng thư viện NumPy

Giả sử bạn có một danh sách điểm số của sinh viên trong một lớp học và bạn muốn tính điểm trung bình của lớp đó bằng cách sử dụng thư viện NumPy.

Bước 1: Nhập thư viện NumPy:

import numpy as np

Bước 2: Tạo mảng điểm số của sinh viên:

diem_sinh_vien = np.array([8, 7, 9, 6, 8.5, 9.5, 7.5, 6.5, 8, 9])
bai-toan-don-gian-su-dung-thu-vien-numpy
Bài toán đơn giản sử dụng thư viện NumPy

Bước 3: Tính điểm trung bình

diem_trung_binh = np.mean(diem_sinh_vien)

Kết quả:

Điểm trung bình của lớp là: 8.0

Bước 4: In kết quả

print("Điểm trung bình của lớp là:", diem_trung_binh)

Tóm lại, NumPy không chỉ giúp chúng ta giải quyết các bài toán khoa học dữ liệu một cách dễ dàng mà còn là chìa khóa mở cánh cửa cho những khám phá sâu hơn về thế giới của xử lý số liệu. Nếu bạn là một người lập trình Python, NumPy sẽ là một người bạn đồng hành đáng tin cậy trong công việc của bạn.

Những câu hỏi thường gặp

NumPy ra đời khi nào?

Năm 2005, Travis Oliphant (một trong những nhà phát triển của NumPy) đã chuyển các chức năng của Numarray (một đối thủ của Numeric) sang Numeric. Phiên bản NumPy 1.0 được phát hành vào năm 2006.

Làm thế nào để cài đặt NumPy trong Python?

Bạn có thể cài đặt NumPy bằng lệnh pip trong Command Prompt hoặc Terminal bằng câu lệnh:

pip install numpy

pip install numpy

Tại sao NumPy là lựa chọn tối ưu cho Python?

NumPy được sử dụng trong Python vì có thể giúp cải thiện hiệu suất xử lý dữ liệu số so với việc sử dụng danh sách thông thường. Trong Python, chúng ta có thể sử dụng danh sách nhưng chúng sẽ bị chậm hơn trong quá trình xử lý dữ liệu lớn. NumPy được thiết kế để cung cấp một đối tượng mảng nhanh hơn lên đến 50 lần so với danh sách thông thường.

Ngoài ra, NumPy còn có khả năng mở rộng Python bằng cách cung cấp các cấu trúc dữ liệu phân tích tiên tiến, đảm bảo tính nhanh chóng khi thao tác với mảng và ma trận.

Có những lựa chọn nào có thể thay thế NumPy?

Nếu muốn tìm kiếm các thư viện thay thế hoặc bổ sung cho NumPy, bạn có thể tham khảo: Pandas, TensorFlow PyTorch, Dask, CuPy, Blaze,.

Đông Tùng

Senior Technology Writer

Là cử nhân Quản trị kinh doanh của Trường Đại học Tài chính - Marketing, Tùng bắt đầu làm việc tại Tino Group từ năm 2021 ở vị trí Content Marketing để thỏa mãn niềm đam mê viết lách của bản thân. Sở hữu khả năng sáng tạo đặc biệt, anh cùng đội ngũ của mình đã tạo nên những chiến dịch quảng cáo độc đáo cùng vô số bài viết hữu ích về nhiều chủ đề khác nhau. Sự tỉ mỉ, kiên trì và tinh thần sáng tạo của Tùng đã góp phần lớn vào thành công của Tino Group trong lĩnh vực marketing trực tuyến.

Xem thêm bài viết

Bài viết liên quan

Xem nhiều

giá tốt, chất lượng cao mình rất hài lòng
chất lượng dịch vụ tốt lắm...á
chất lượng dịch vụ rất tốt.
giá tốt, chất lượng cao mình rất hài lòng
Dịch vụ chăm sóc khách hàng tốt
Dùng rất oke nha mọi người
Dịch vụ chăm sóc khách hàng tốt, mình rất hài lòng về dịch vụ của TINOHOST
Đã mua rất nhiều tên miền tại Tinohost. Chất lượng tốt
dịch vụ và chăm sóc khách hàng rất tốt , mình rất thích tinohost , mình đã sử dụng nhiều dịch vụ của tinohost rồi
tuyệt vời chăm sóc khách hàng quá tốt
dịch vụ và chăm sóc khách hàng rất tốt , mình rất thích tinohost , mình đã sử dụng nhiều dịch vụ của tinohost rồi
Quá tốt - Quá xuất sắc và tuyệt
Hỗ trợ nhiệt tình. dịch vụ chất lượng
Đội ngũ support rất nhiệt tình.
Sử dụng dịch vụ của bạn Tinohost 2 3 năm nay chưa khi nào phải thất vọng.
host dùng chất lượng, miền giá rẻ
dịch vụ hỗ trợ rất nhanh, tốc độ hosting tốt
Hộ trợ tốt, nhanh. Tuyệt vời 🥰
tuyệt vời, dịch vụ cực tốt và hỗ trợ siêu nhanh
Làm việc nhanh chóng, giá thành hợp lí.
Chất lượng phục vụ tốt, hỗ trợ khá nhanh chóng và chất lượng gói lớn tốt, gói nhỏ cần tốt hơn.
Hosting rẻ và nhanh thích hợp cho học sinh sinh viên như mình
dịch vu tốt ! Sẽ sử dụng thưởng xuyên !
Mỗi lần cần gì, nhắn Tino là được hỗ trợ ngay. Nên một đứa không biết gì về web như mình cũng tạo được blog. Cơ bản mình chỉ lo viết, mọi thứ có anh IT của Tino lo hết.
Nhìn chung thì Tino xứng đáng là một trong những nhà cung cấp host giá rẻ #1 tại VN. Bên này support khá nhanh và nhiệt tình nên quá trình sử dụng diễn ra tương đối trơn tru.
Chất lượng quá ok so với mức giá. Các SME có thể tham khảo để dựng web nhé.
uy tín chất lượng chuẩn cho 5 sao
Dịch vụ nhanh chóng thanh toán tiện lợi
Dịch vụ nhanh chóng, giá cả hợp lý
Chất lượng phục vụ ok, support khá nhanh chóng và chất lượng gói lớn tốt, gói nhỏ cần tốt hơn.
Dịch vụ tốt, giá cả hợp lý👍
Rất hay, rất tốt, rất hữu ích
Hỗ trợ rất nhanh và nhiệt tình
Chất lượng phục vụ ok, support khá nhanh chóng và chất lượng gói lớn tốt, gói nhỏ cần tốt hơn.
dịch vụ tốt, thanh toán nhanh chống
Hài lòng dịch vụ của tinohost
Sau khi sử dụng dịch vụ của TinoHost. Mình thấy website load nhanh hơn hẳn so với sử dụng ở nhà cung cấp cũ. Giá cả do mình đc mua với giá sale 99% của TinoHost nên rất là rẻ. Gói mình mua là gòi Hosting Bussiness 20GB. Thông số cấu hình cao nên web load khá mượt
Chúc TinoHost phát triển!
domain rẻ, có nhiều gói hữu ích thích hợp cho sinh viên
Hài lòng về dịch vụ và tư vấn
Dịch vụ tốt . Support nhiệt tình
Chất lượng OK
Nhanh chóng
dịch vụ rất tốt
Nhân viên support nhanh, hỗ trợ nhiệt tình, giao dịch tự động nên khá tiện
Đã dùng nhiều dịch vụ tại Tinohost, chất lượng tốt, rất hài lòng ...😀
Sự dụng rất hài lòng với các dịch vụ của tinohost
Dịch vụ tốt, uy tín chất lượng
Tino dịch vụ quá tuyệt vời
Giá rẻ, dịch vụ tốt, hỗ trợ nhanh chóng
dịch vụ rất tốt rất tuyệt vời
Giá hợp lý cho người mới dùng
Mình thấy Tinohost có giao diện thân thiện, dễ đăng ký sử dụng cho người mới tập tành làm web như mình. Hosting hỗ trợ có nhiều lựa chọn về dung lượng và giá cả! Thanh toán qua momo thuận tiện. Recommended!
wed quá ok làm việc nhanh ngọn
Dịch vụ tốt. Khá hài lòng vì support nhiệt tình
Dịch vụ quá tuyệt vời danh cho các bạn
Xin cảm ơn đội ngủ kỹ thuật. Các bạn rất chuyên nghiệp và thân thiện. Tôi sẽ giới thiệu các bạn cho bạn bè của mình.
Dịch vụ hỗ trợ tốt, ổn định, thanh toán dễ dàng.
Mình từng dùng VPS bên Vietel IDC, hay gặp lỗi vặt và bảo trì liên tục. Nhưng Tino thì rất ok
dùng tốt, nhanh, dễ sử dụng
Giao diện đẹp mắt, dễ sử dụng
Đề nghị xem lại vấn đề phục vụ khách hàng (livchat)!
Good. Tốc độ cao. Tùy chỉnh nhiều trên shared hosting.
hosting ngon, giá luôn rẻ, tôi làm code nhưng rất thích sài host tino
Tino cung cấp host rất chuyên nghiệp. Đội ngũ kỹ thuật hỗ trợ rất tận tâm và nhiệt tình. Mình sẽ tiếp tục ủng hộ Tino 🥰.
Rất tuyệt vời🙆🙆🙆🙆🙆🙆🙆🙆🙆
Xét về tầm giá thì TinoHost rất đáng để mua và sử dụng lâu dài.
Dịch vụ chất lượng, ủng hộ 1 năm nay rồi
tuyệt vời quá đi,tuyệt vời quá đi
Tốc độ ổn định, tư vấn nhiệt tình
mới tham gia, mong mọi người hỗ trợ thêm
Tốc độ khá tốt với gói rẻ nhất 9k
Giao dịch nhanh,support nhanh và tận tình,chuyển miền nhanh,Hosting Ok
mua sản phẩm dịch vụ tinhot rất tốt tặng ad 5tr ** luon nè🥰🥰🥰
tinohost
một truong những nơi bán hosting rẻ, chất lượng dành cho anh em nào cần để làm web
mua tại : tinohost.com
mình đã mua 2 tên miền + hosting của Tino Host . quả nhiên hiệu quả SEO cải thiện đáng kể và chứng chỉ bảo mật HTTPS miễn phí của Tino Host cũng ko kém phần quang trọng cho việc SEO website của mình
Tino host là một trong nhà cung cấp tốt nhất mình từng sử dụng. Với ưu đãi khuyến mại nhiều, giá thành rẻ kèm theo đó là sự support tuyệt vời của các admin. Nếu ai chưa lựa chọn được nhà cung cấp cho bản thân mình thì Tinohost sẽ là câu trả lời tốt nhất.
dịch vụ tốt, đội ngũ support nhiệt tình, cảm ơn #tinohost
Uy tín, chất lượng, nhân viên hỗ trợ nhiệt tình
mua 2 domain tại tinohost dùng rất chất lượng
Đã mua 02 domain và hosting tại TinoHost, hài lòng cách tư vấn và chăm sóc khách hàng của TinoHost :)
Giá rẻ cấu hình mạnh, black friday là sự bùng nổ của Tino
Hay web bán tài nguyên rất ngon
dịch vụ tốt, mua luôn host chất lượng cao của công ty nhân dịp blackfriday, cảm ơn #tinohost
Dịch vụ rất tốt, nhân viên tận tình.
Hỗ trợ nhiệt tình nhất trong các nhà cung cấp mih từng dùng. Không những server mạnh, ưu đãi có 1 không 2 mà còn nhiều plugin pro bản quyền đính kèm nữa. Quyết định gắn bó "Lifetime" với tino 😁
Dịch vụ tốt hỗ trợ nhanh chóng
Thích cách tư vấn tận tình và nhanh gọn của Tino mỗi khi có vấn đề trục trặc. Hosting ổn định, giá rẻ tốt lắm nhé mọi người
mình có mua 2 tên msiền của tino, mình rât thích cách tư vấn và chăm sóc khách hàng tại đây. Ngoài ra giá domain khá rẻ, phù hợp cho mọi người. 5 sao
Dịch vụ tốt, support nhiệt tình
tinohost tuyệt vời giá cả hợp lý
domain mua rất rẻ :))))
tốt, chất lượng, hostingok
Hosting tốt, giá cả cạnh tranh
Tuyệt vời , Hosting quá ổn
Chất lượng lắm ạ. Domain mua rẻ nhất thị trường
Dịch vụ tốt và chất lượng
Chất lượng lắm ạ. Domain mua rẻ nhất thị trường
Tino Host dùng quá ngon đi !💥💥💥💥💥
Next Reviews
CÔNG TY CỔ PHẦN TẬP ĐOÀN TINO
Trụ sở chính: L17-11, Tầng 17, Tòa nhà Vincom Center, Số 72 Lê Thánh Tôn,  Phường Bến Nghé, Q. 1, TP. Hồ Chí Minh

Văn phòng kinh doanh: Số 42 Trần Phú, Phường 4, Quận 5, TP HCM
GPKD số 0315679836 do Sở KH và ĐT TP Hồ Chí Minh cấp
Hotline: 0364 333 333
Góp ý/Phản ánh dịch vụ: 0933 000 886

chao-thang-7-tinohost-sale-het-say