Hướng dẫn what is numpy in python? - numpy trong python là gì?

Numpy là gói cơ bản cho điện toán khoa học trong Python. Đó là một thư viện Python cung cấp một đối tượng mảng đa chiều, các đối tượng có nguồn gốc khác nhau [như mảng và ma trận đeo mặt nạ], và một loại thói quen cho các hoạt động nhanh trên các mảng, bao gồm toán học, logic, thao tác hình dạng, sắp xếp, chọn, I/O , Biến đổi Fourier rời rạc, Đại số tuyến tính cơ bản, Hoạt động thống kê cơ bản, mô phỏng ngẫu nhiên và nhiều hơn nữa.

Cốt lõi của gói Numpy, là đối tượng Ndarray. Điều này gói gọn các mảng N-chiều của các loại dữ liệu đồng nhất, với nhiều hoạt động được thực hiện trong mã biên dịch để thực hiện. Có một số khác biệt quan trọng giữa các mảng Numpy và trình tự Python tiêu chuẩn:

  • Các mảng Numpy có kích thước cố định tại Sáng tạo, không giống như danh sách Python [có thể phát triển động]. Thay đổi kích thước của một ndarray sẽ tạo ra một mảng mới và xóa bản gốc.

  • Các phần tử trong một mảng numpy đều được yêu cầu thuộc cùng một loại dữ liệu, và do đó sẽ có cùng kích thước trong bộ nhớ. Ngoại lệ: người ta có thể có các mảng [python, bao gồm cả numpy], do đó cho phép các mảng của các yếu tố có kích thước khác nhau.

  • Các mảng Numpy tạo điều kiện cho toán học tiên tiến và các loại hoạt động khác trên số lượng lớn dữ liệu. Thông thường, các hoạt động như vậy được thực hiện hiệu quả hơn và với ít mã hơn có thể bằng cách sử dụng các chuỗi tích hợp Python.

  • Một lượng lớn các gói dựa trên Python khoa học và toán học đang sử dụng các mảng numpy; Mặc dù các đầu vào chuỗi python này thường hỗ trợ python, nhưng chúng chuyển đổi đầu vào đó thành các mảng numpy trước khi xử lý và chúng thường xuất ra các mảng numpy. Nói cách khác, để sử dụng hiệu quả nhiều [thậm chí hầu hết] phần mềm dựa trên python khoa học/toán học ngày nay, chỉ cần biết cách sử dụng các loại trình tự tích hợp Python, là không đủ-người ta cũng cần biết cách sử dụng các mảng numpy.

Các điểm về kích thước và tốc độ trình tự đặc biệt quan trọng trong điện toán khoa học. Như một ví dụ đơn giản, hãy xem xét trường hợp nhân mỗi phần tử thành trình tự 1 chiều với phần tử tương ứng trong một chuỗi khác có cùng độ dài. Nếu dữ liệu được lưu trữ trong hai danh sách Python, ab, chúng ta có thể lặp lại từng yếu tố:

c = []
for i in range[len[a]]:
    c.append[a[i]*b[i]]

Điều này tạo ra câu trả lời chính xác, nhưng nếu ab mỗi người chứa hàng triệu số, chúng tôi sẽ trả giá cho sự thiếu hiệu quả của việc lặp trong Python. Chúng tôi có thể hoàn thành cùng một nhiệm vụ nhanh hơn nhiều trong C bằng cách viết [để rõ ràng, chúng tôi bỏ qua các khai báo và khởi tạo biến, phân bổ bộ nhớ, v.v.]

for [i = 0; i 

Bài Viết Liên Quan

Chủ Đề