Thành thạo NumPy np.array: Từ cơ bản đến phân tích dữ liệu nâng cao

1. Giới thiệu

Python là một ngôn ngữ lập trình rất phổ biến cho phân tích dữ liệu, học máy và tính toán khoa học. Trong số đó, thư viện numpy (NumPy) là một công cụ mạnh mẽ giúp đơn giản hoá các phép tính số học. Bài viết này cung cấp giải thích chi tiết về “np.array” của Python, từ những kiến thức cơ bản đến các ứng dụng thực tiễn, và giới thiệu các kỹ thuật cụ thể hữu ích cho việc xử lý và phân tích dữ liệu số.

Trang chính thức

2. numpy là gì?

numpy là một thư viện tính toán số học cung cấp các mảng đa chiều (ndarray), các phép toán ma trận và các tính năng phân tích thống kê, đóng vai trò là nền tảng cho phân tích dữ liệu. Khi kết hợp với các thư viện Python khác, nó giúp việc xử lý dữ liệu phức tạp trở nên đơn giản và nhanh chóng.

Cách cài đặt numpy

Cài đặt numpy rất dễ dàng. Chỉ cần chạy lệnh dưới đây.

pip install numpy

Tại sao chọn numpy

Khả năng xử lý dữ liệu nhanh và hiệu quả của numpy là không thể thiếu cho tính toán khoa học và khoa học dữ liệu. Để biết thêm chi tiết về numpy, xem tài liệu chính thức.

Why NumPy? Powerful n-dimensional arrays. Numerical computin…

3. Cơ bản về np.array

np.array của Python là cấu trúc dữ liệu cốt lõi của numpy và bao gồm các chức năng để xử lý dữ liệu số một cách hiệu quả. Ví dụ, dưới đây là cách tạo một mảng một chiều.

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

Mẹo: Việc chỉ định kiểu dữ liệu của np.array cũng có thể cải thiện hiệu suất bộ nhớ. Sử dụng đối số dtype để chỉ định các kiểu số nguyên (như int32) hoặc kiểu số thực.

4. Tạo Mảng Đa Chiều

np.array cũng hỗ trợ các mảng đa chiều. Ví dụ, đoạn mã dưới đây tạo một mảng hai chiều.

array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(array_2d)

Câu hỏi thường gặp H: Làm thế nào để tạo mảng có ba hoặc nhiều hơn ba chiều? Đ: Bạn có thể tạo chúng bằng cách truyền một danh sách lồng nhau sâu hơn vào np.array.

5. Các Phép Toán trên Mảng

np.array cho phép bạn truy xuất các phần tử và thực hiện các phép toán một phần bằng cách sử dụng chỉ mục và cắt lát. Dưới đây là một ví dụ cơ bản về chỉ mục.

array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(array_2d[1, 2])  # Output: 6

Bằng cách cắt lát, bạn có thể dễ dàng trích xuất các hàng hoặc cột cụ thể.

6. Đổi Hình Dạng Mảng

Trong phân tích dữ liệu, bạn thường cần thay đổi hình dạng của các mảng; việc sử dụng phương thức reshape cho phép bạn thay đổi chúng một cách hiệu quả.

array_1d = np.array([1, 2, 3, 4, 5, 6])
array_2d = array_1d.reshape(2, 3)
print(array_2d)

Mẹo: Bạn cũng có thể sử dụng phương thức resize để đổi hình dạng, nhưng hãy cẩn thận vì nó sẽ thay đổi trực tiếp mảng gốc.

7. Các Phép Toán trên Mảng

Sử dụng khả năng tính toán số học của numpy làm cho các phép toán giữa các mảng trở nên đơn giản. Ví dụ dưới đây thực hiện phép cộng từng phần tử của hai mảng.

array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
print(array1 + array2)  # Output: [5 7 9]

Câu hỏi thường gặp H: Tôi có thể thực hiện các phép toán khi các mảng có hình dạng khác nhau không? Đ: Bằng cách sử dụng tính năng broadcasting của numpy, bạn có thể thực hiện đúng các phép toán trên các mảng có hình dạng khác nhau.

8. Sử Dụng Các Hàm Thống Kê

Trong phân tích dữ liệu, việc kiểm tra các chỉ số thống kê như trung bình, giá trị lớn nhất và nhỏ nhất, và phương sai của một mảng là rất quan trọng. Ví dụ, dưới đây là cách tính trung bình của một mảng.

array = np.array([1, 2, 3, 4, 5])
print(array.mean())  # Output: 3.0

9. Ví Dụ Thực Tế: Ứng Dụng vào Phân Tích Dữ Liệu

Ở đây, sử dụng dữ liệu bán hàng giả định, chúng ta sẽ phân tích tỷ lệ tăng trưởng doanh thu và xem xét xu hướng bán hàng hàng tháng.

import numpy as np
import matplotlib.pyplot as plt

sales_data = np.array([120, 150, 170, 200, 220, 180, 190, 210, 230, 250, 240, 260])

# Monthly sales growth rate
growth_rate = (sales_data[1:] - sales_data[:-1]) / sales_data[:-1] * 100
print("Monthly growth rate:", growth_rate)

# Plotting the sales data
plt.plot(range(1, 13), sales_data, marker='o')
plt.title("Monthly Sales Trend")
plt.xlabel("Month")
plt.ylabel("Sales (thousands)")
plt.grid(True)
plt.show()

Mẹo: Việc trực quan hoá dữ liệu giúp dễ dàng nhận diện các đỉnh tăng trưởng và xu hướng một cách trực quan, điều này hữu ích cho phân tích kinh doanh.

10. Tóm tắt

Bài viết này giải thích các kiến thức cơ bản về việc sử dụng np.array trong Python và các ứng dụng của nó trong phân tích dữ liệu. Các điểm chính như sau.

  1. Cách sử dụng cơ bản : Tạo np.array và chỉ định kiểu dữ liệu.
  2. Mảng đa chiều : Tạo và thao tác các mảng hai chiều và ba chiều.
  3. Định dạng lại : Các phương pháp định dạng lại bằng reshapeflatten.
  4. Phép toán và thống kê : Các phép toán từng phần tử và tính các chỉ số thống kê.
  5. Ví dụ thực tế : Tính toán tỷ lệ tăng trưởng và trực quan hoá dữ liệu bán hàng.

Những khái niệm này tạo nền tảng cho các dự án phân tích dữ liệu và học máy, vì vậy hãy chắc chắn áp dụng chúng. Nếu bạn muốn hiểu sâu hơn, cũng nên tham khảo tài liệu chính thức của numpy và các chủ đề liên quan khác.

RUNTEQ(ランテック)|超実戦型エンジニア育成スクール