Phương pháp tạo mảng NumPy từ dữ liệu có sẵn

1. Hàm numpy.asarray: Xây dựng mảng từ dữ liệu tồn tại

1.1 Chức năng chính

Tương tự numpy.array, chuyển đổi danh sách, tuple hoặc mảng sẵn có thành đối tượng ndarray trong NumPy. Hàm yêu cầu ít tham số hơn numpy.array với khả năng chính là tạo mảng từ dữ liệu nhập vào.

1.2 Cú pháp và tham số

Tham số Mô tả
a Dữ liệu nhập bao gồm: danh sách, tuple, đa dạng mảng
dtype Xác định kiểu dữ liệu mảng (tùy chọn)
order Thứ tự lưu trữ trong bộ nhớ: "C" (hàng ưu tiên), "F" (cột ưu tiên)

1.3 Ví dụ minh họa

import numpy as np
data = (4, 5, 6)
arr = np.asarray(data)
print(arr)

Kết quả: [4 5 6]

import numpy as np
source = [(10, 20), (30, 40, 50)]
result = np.asarray(source)
print(result)

Kết quả: [(10, 20) (30, 40, 50)] (dtype=object)

import numpy as np
input_data = [7, 8, 9]
converted = np.asarray(input_data, dtype=complex)
print(converted)

Kết quả: [7.+0.j 8.+0.j 9.+0.j]

2. Hàm numpy.frombuffer: Tạo mảng từ vùng đệm

2.1 Cơ chế hoạt động

Đọc dữ liệu từ bộ đệm dưới dạng luồng để tạo mảng ndarray động, cho phép chỉ định vị trí bắt đầu và lượng dữ liệu.

2.2 Tham số sử dụng

Tham số Ý nghĩa
buffer Đối tượng bộ đệm có thể đọc (ví dụ: byte string)
dtype Kiểu dữ liệu phần tử bắt buộc
count Số lượng phần tử đọc (mặc đinh: -1)
offset Vị trí bắt đầu đọc (mặc định: 0)

2.3 Minh họa ứng dụng

import numpy as np
byte_data = b'Python'
buffer_arr = np.frombuffer(byte_data, dtype='S1')
print(buffer_arr)

Kết quả: [b'P' b'y' b't' b'h' b'o' b'n']

3. Hàm numpy.fromiter: Xây dựng mảng từ đối tượng có thể lặp

3.1 Mục đích chuyên biệt

Chuyển đổi các đối tượng có thể lặp thành mảng NumPy một chiều, hỗ trợ bộ tạo và bộ lặp.

3.2 Cấu trúc hàm

iterable: Bắt buộc
dtype: Xác định kiểu dữ liệu
count: Số lượng phần tử (tùy chọn)

3.3 Ví dụ thực tiễn

import numpy as np
iter_obj = iter(range(3))
num_arr = np.fromiter(iter_obj, dtype=int)
print(num_arr)

Kết quả: [0 1 2]

4. So sánh np.array và np.asarray

4.1 Điểm tương đồng

Khi nguồn dữ liệu không phải ndarray, cả hai tạo mảng mới độc lập với dữ liệu gốc.

4.2 Khác biệt cơ bản

Hàm Hành vi khi nhập ndarray
np.array Tạo bản sao độc lập
np.asarray Sử dụng tham chiếu đến mảng gốc

4.3 Kiểm tra khác biệt

import numpy as np
origin = np.array([15, 25, 35])
copy_arr = np.array(origin)
ref_arr = np.asarray(origin)

origin[2] = 999
print("Bản gốc:", origin)
print("Bản sao:", copy_arr)
print("Tham chiếu:", ref_arr)

4.4 Hướng dẫn sử dụng

  • Ưu tiên np.array khi cần độc lập dữ liệu
  • Chọn np.asarray để tiết kiệm bộ nhớ với mảng lớn

Thẻ: numpy array-creation ndarray python-data-science

Đăng vào ngày 22 tháng 8 lúc 07:05