Sử dụng NumPy trong Phân tích Dữ liệu

Giới thiệu về Phân tích Dữ liệu

Phân tích dữ liệu là quá trình sử dụng các phương pháp thống kê để xử lý và khám phá thông tin từ một tập hợp dữ liệu lớn. Quá trình này giúp tìm ra các mẫu, xu hướng và mối quan hệ ẩn giấu.

Các Công cụ Phổ Biến cho Phân tích Dữ liệu trong Python

Trong Python, ba thư viện chính được sử dụng cho phân tích dữ liệu là:

  • NumPy: Thư viện hỗ trợ mảng đa chiều và các phép toán số học.
  • Pandas: Cung cấp cấu trúc dữ liệu linh hoạt và công cụ phân tích dữ liệu mạnh mẽ.
  • Matplotlib: Thư viện vẽ biểu đồ phổ biến.

Tìm hiểu về NumPy

NumPy (Numerical Python) là một thư viện mở rộng của Python, cung cấp khả năng xử lý mảng đa chiều hiệu quả cùng với các hàm toán học chuyên dụng.

Tạo Mảng với NumPy

Để bắt đầu, bạn cần cài đặt NumPy bằng lệnh sau:

pip install numpy

Dưới đây là cách tạo mảng một chiều và hai chiều:

import numpy as np

# Tạo mảng một chiều
arr1 = np.array([1, 2, 3, 4, 5])
print(arr1)

# Tạo mảng hai chiều
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
print(arr2)

Sử dụng Các Hàm Xây Dựng Trực Tiếp

Bên cạnh việc tạo mảng thủ công, NumPy còn cung cấp nhiều hàm tiện ích:

  • np.linspace: Tạo dãy số có khoảng cách đều.
  • np.arange: Tạo mảng với bước nhảy xác định.
  • np.random.randint: Tạo mảng ngẫu nhiên với giá trị nguyên.
import numpy as np

# Sử dụng np.linspace
arr_linspace = np.linspace(0, 10, num=5)
print(arr_linspace)

# Sử dụng np.arange
arr_arange = np.arange(0, 10, 2)
print(arr_arange)

# Sử dụng np.random.randint
random_arr = np.random.randint(0, 100, size=(3, 4))
print(random_arr)

Vật Đối Tượng ndarray

Một đối tượng trọng tâm trong NumPy là ndarray, đại diện cho mảng đa chiều. Dưới đây là một số thuộc tính và phương thức cơ bản:

  • dtype: Kiểu dữ liệu của phần tử.
  • shape: Kích thước của mảng.
  • ndim: Số chiều của mảng.
  • size: Tổng số phần tử.
  • reshape: Thay đổi kích thước mà không thay đổi nội dung.
import numpy as np

# Tạo mảng ví dụ
arr = np.random.randint(1, 10, size=(3, 4))

# In các thuộc tính
print("Dạng:", arr.shape)
print("Kiểu dữ liệu:", arr.dtype)
print("Số chiều:", arr.ndim)
print("Tổng số phần tử:", arr.size)

# Reshape mảng
reshaped_arr = arr.reshape((2, 6))
print(reshaped_arr)

Các Phép Toán Cơ Bản trên Mảng

NumPy hỗ trợ nhiều phép toán như chỉ mục, cắt lát, nối và sắp xếp.

Chỉ Mục và Cắt Lát

import numpy as np

# Tạo mảng hai chiều
arr = np.random.randint(1, 10, size=(4, 5))

# Chỉ mục đơn giản
element = arr[1, 2]
print(element)

# Cắt lát hàng và cột
rows = arr[:2]
columns = arr[:, :3]
print(rows)
print(columns)

Nối Mảng

Phương thức concatenate cho phép nối nhiều mảng theo một trục nhất định:

import numpy as np

# Tạo hai mảng
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6]])

# Nối theo hàng
result = np.concatenate((arr1, arr2.T), axis=1)
print(result)

Xử Lý Hình Ảnh với Matplotlib

Hình ảnh có thể được xử lý dưới dạng mảng NumPy. Ví dụ sau minh họa cách thao tác với hình ảnh:

import matplotlib.pyplot as plt
import numpy as np

# Đọc hình ảnh
img = plt.imread('image.jpg')

# Hiển thị hình ảnh gốc
plt.imshow(img)
plt.show()

# Chuyển đổi màu sắc
inverted_img = 255 - img
plt.imshow(inverted_img)
plt.show()

# Cắt hình ảnh
cropped_img = img[100:300, 200:400]
plt.imshow(cropped_img)
plt.show()

# Nối hình ảnh
doubled_img = np.hstack((img, img))
plt.imshow(doubled_img)
plt.show()

Thẻ: numpy matplotlib Pandas

Đăng vào ngày 27 tháng 5 lúc 06:48