Chào mừng bạn đến với hướng dẫn tuyệt đối cho người mới bắt đầu về NumPy. Nếu bạn có nhận xét hoặc đề xuất, vui lòng liên hệ
Chào mừng đến với NuPy. #
NumPy [Numerical Python] là một thư viện mã nguồn mở Python được sử dụng trong hầu hết các lĩnh vực khoa học và kỹ thuật. Đó là tiêu chuẩn chung để làm việc với dữ liệu số trong Python và là cốt lõi của hệ sinh thái Python và PyData khoa học. Người dùng NumPy bao gồm tất cả mọi người từ lập trình viên mới bắt đầu đến các nhà nghiên cứu có kinh nghiệm thực hiện nghiên cứu và phát triển khoa học và công nghiệp hiện đại. API NumPy được sử dụng rộng rãi trong Pandas, SciPy, Matplotlib, scikit-learning, scikit-image và hầu hết các gói Python khoa học và khoa học dữ liệu khác
Thư viện NumPy chứa các cấu trúc dữ liệu ma trận và mảng đa chiều [bạn sẽ tìm thêm thông tin về điều này trong các phần sau]. Nó cung cấp ndarray, một đối tượng mảng n chiều đồng nhất, với các phương thức để hoạt động hiệu quả trên nó. NumPy có thể được sử dụng để thực hiện nhiều phép toán trên mảng. Nó bổ sung các cấu trúc dữ liệu mạnh mẽ cho Python để đảm bảo tính toán hiệu quả với các mảng và ma trận, đồng thời nó cung cấp một thư viện khổng lồ gồm các hàm toán học cấp cao hoạt động trên các mảng và ma trận này
Tìm hiểu thêm về NumPy tại đây .
Cài đặt NumPy#
Để cài đặt NumPy, chúng tôi thực sự khuyên bạn nên sử dụng bản phân phối Python khoa học. Nếu bạn đang tìm hướng dẫn đầy đủ để cài đặt NumPy trên hệ điều hành của mình, hãy xem Cài đặt NumPy
Nếu bạn đã có Python, bạn có thể cài đặt NumPy với
conda install numpy
hoặc
pip install numpy
Nếu chưa có Python, bạn có thể cân nhắc sử dụng Anaconda. Đó là cách dễ nhất để bắt đầu. Điểm hay khi nhận bản phân phối này là bạn không cần phải lo lắng quá nhiều về việc cài đặt riêng NumPy hoặc bất kỳ gói chính nào mà bạn sẽ sử dụng để phân tích dữ liệu của mình, như pandas, Scikit-Learn, v.v.
Cách nhập NumPy#
Để truy cập NumPy và các chức năng của nó, hãy nhập nó vào mã Python của bạn như thế này
import numpy as np
Chúng tôi rút ngắn tên đã nhập thành
pip install numpy34 để dễ đọc mã hơn bằng NumPy. Đây là một quy ước được áp dụng rộng rãi mà bạn nên tuân theo để bất kỳ ai làm việc với mã của bạn đều có thể dễ dàng hiểu được
Đọc mã ví dụ#
Nếu bạn chưa thấy thoải mái khi đọc các hướng dẫn chứa nhiều mã, bạn có thể không biết cách diễn giải một khối mã trông như thế này
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]
Nếu bạn chưa quen với phong cách này, nó rất dễ hiểu. Nếu bạn thấy
pip install numpy35, thì bạn đang xem đầu vào hoặc mã mà bạn sẽ nhập. Mọi thứ không có
pip install numpy35 phía trước đều là đầu ra hoặc kết quả chạy mã của bạn. Đây là phong cách bạn nhìn thấy khi chạy
pip install numpy37 trên dòng lệnh, nhưng nếu bạn đang sử dụng IPython, bạn có thể thấy một phong cách khác. Lưu ý rằng nó không phải là một phần của mã và sẽ gây ra lỗi nếu được nhập hoặc dán vào trình bao Python. Nó có thể được nhập hoặc dán một cách an toàn vào lớp vỏ IPython;
Sự khác biệt giữa danh sách Python và mảng NumPy là gì?#
NumPy cung cấp cho bạn rất nhiều cách nhanh chóng và hiệu quả để tạo mảng và thao tác dữ liệu số bên trong chúng. Mặc dù danh sách Python có thể chứa các loại dữ liệu khác nhau trong một danh sách, nhưng tất cả các phần tử trong mảng NumPy phải đồng nhất. Các phép toán được thực hiện trên mảng sẽ cực kỳ kém hiệu quả nếu các mảng không đồng nhất
Tại sao nên sử dụng NumPy?
Mảng NumPy nhanh hơn và nhỏ gọn hơn danh sách Python. Một mảng tiêu thụ ít bộ nhớ hơn và thuận tiện khi sử dụng. NumPy sử dụng ít bộ nhớ hơn để lưu trữ dữ liệu và nó cung cấp cơ chế chỉ định các loại dữ liệu. Điều này cho phép mã được tối ưu hóa hơn nữa
Mảng là gì?#
Mảng là cấu trúc dữ liệu trung tâm của thư viện NumPy. Mảng là một lưới các giá trị và nó chứa thông tin về dữ liệu thô, cách xác định vị trí phần tử và cách diễn giải phần tử. Nó có một mạng lưới các phần tử có thể được lập chỉ mục theo nhiều cách khác nhau . Các phần tử đều cùng kiểu, được gọi là mảng
pip install numpy39.
Một mảng có thể được lập chỉ mục bởi một bộ các số nguyên không âm, bởi booleans, bởi một mảng khác hoặc bởi các số nguyên.
pip install numpy40 của mảng là số chiều.
pip install numpy41 của mảng là một bộ số nguyên cho biết kích thước của mảng theo mỗi chiều
Một cách chúng ta có thể khởi tạo mảng NumPy là từ danh sách Python, sử dụng danh sách lồng nhau cho dữ liệu hai chiều trở lên
Ví dụ
pip install numpy2
hoặc
pip install numpy3
Chúng ta có thể truy cập các phần tử trong mảng bằng dấu ngoặc vuông. Khi bạn đang truy cập các phần tử, hãy nhớ rằng việc lập chỉ mục trong NumPy bắt đầu từ 0. Điều đó có nghĩa là nếu bạn muốn truy cập phần tử đầu tiên trong mảng của mình, bạn sẽ truy cập phần tử “0”
pip install numpy4
Thông tin thêm về mảng #
Phần này bao gồm
pip install numpy42,
pip install numpy43,
pip install numpy44,
pip install numpy45,
pip install numpy46
Đôi khi bạn có thể nghe thấy một mảng được gọi là “ndarray”, viết tắt của “mảng N chiều. ” Mảng N chiều đơn giản là một mảng có số chiều bất kỳ. Bạn cũng có thể nghe thấy mảng 1-D hoặc mảng một chiều, mảng 2-D hoặc mảng hai chiều, v.v. Lớp NumPy
pip install numpy44 được sử dụng để biểu diễn cả ma trận và vectơ. Vectơ là một mảng có một chiều [không có sự khác biệt giữa vectơ hàng và cột], trong khi ma trận đề cập đến một mảng có hai chiều. Đối với các mảng chiều 3-D hoặc cao hơn, thuật ngữ tensor cũng thường được sử dụng
Các thuộc tính của một mảng là gì?
Một mảng thường là một thùng chứa các phần tử có kích thước cố định cùng loại và cùng kích thước. Số lượng kích thước và mục trong một mảng được xác định bởi hình dạng của nó. Hình dạng của một mảng là một bộ các số nguyên không âm xác định kích thước của mỗi chiều
Trong NumPy, kích thước được gọi là trục. Điều này có nghĩa là nếu bạn có một mảng 2D trông như thế này
import numpy as np1
Mảng của bạn có 2 trục. Trục thứ nhất có chiều dài là 2 và trục thứ hai có chiều dài là 3
Giống như trong các đối tượng chứa Python khác, nội dung của một mảng có thể được truy cập và sửa đổi bằng cách lập chỉ mục hoặc cắt mảng. Không giống như các đối tượng vùng chứa điển hình, các mảng khác nhau có thể chia sẻ cùng một dữ liệu, vì vậy những thay đổi được thực hiện trên một mảng có thể hiển thị trong một mảng khác
Các thuộc tính của mảng phản ánh thông tin nội tại của chính mảng đó. Nếu bạn cần lấy hoặc thậm chí thiết lập các thuộc tính của một mảng mà không cần tạo một mảng mới, bạn có thể thường xuyên truy cập một mảng thông qua các thuộc tính của nó
Đọc thêm về thuộc tính mảng tại đây và tìm hiểu về đối tượng mảng tại đây .
Cách tạo một mảng cơ bản#
Phần này bao gồm
pip install numpy48,
pip install numpy49,
pip install numpy50,
pip install numpy51,
pip install numpy52,
pip install numpy53,
pip install numpy39
Để tạo một mảng NumPy, bạn có thể sử dụng hàm
pip install numpy48
Tất cả những gì bạn cần làm để tạo một mảng đơn giản là chuyển một danh sách cho nó. Nếu chọn, bạn cũng có thể chỉ định loại dữ liệu trong danh sách của mình. Bạn có thể tìm thêm thông tin về các loại dữ liệu tại đây .
pip install numpy0
Bạn có thể hình dung mảng của mình theo cách này
Xin lưu ý rằng những hình ảnh trực quan này nhằm đơn giản hóa các ý tưởng và cung cấp cho bạn hiểu biết cơ bản về các khái niệm và cơ chế của NumPy. Mảng và hoạt động của mảng phức tạp hơn nhiều so với những gì được ghi lại ở đây
Bên cạnh việc tạo một mảng từ một chuỗi các phần tử, bạn có thể dễ dàng tạo một mảng chứa đầy
pip install numpy56
pip install numpy2
Hoặc một mảng chứa đầy
pip install numpy57
pip install numpy0
Hoặc thậm chí là một mảng trống. Hàm
pip install numpy58 tạo một mảng có nội dung ban đầu là ngẫu nhiên và phụ thuộc vào trạng thái của bộ nhớ. Lý do sử dụng
pip install numpy58 trên
pip install numpy60 [hoặc thứ gì đó tương tự] là tốc độ - chỉ cần đảm bảo điền vào mọi phần tử sau đó
pip install numpy1
Bạn có thể tạo một mảng với nhiều phần tử
pip install numpy2
Và cả mảng chứa dãy các khoảng cách đều nhau. Để làm điều này, bạn sẽ chỉ định số đầu tiên, số cuối cùng và kích thước bước
pip install numpy3
Bạn cũng có thể sử dụng
pip install numpy53 để tạo một mảng với các giá trị được đặt cách nhau tuyến tính trong một khoảng xác định
pip install numpy4
Chỉ định loại dữ liệu của bạn
Mặc dù kiểu dữ liệu mặc định là dấu phẩy động [
pip install numpy62], nhưng bạn có thể chỉ định rõ ràng kiểu dữ liệu nào bạn muốn bằng cách sử dụng từ khóa
pip install numpy39
pip install numpy5
Tìm hiểu thêm về cách tạo mảng tại đây
Thêm, xóa và sắp xếp các phần tử#
Phần này bao gồm
pip install numpy64,
pip install numpy65
Sắp xếp một phần tử thật đơn giản với
pip install numpy64. Bạn có thể chỉ định trục, loại và thứ tự khi gọi hàm
Nếu bạn bắt đầu với mảng này
pip install numpy6
Bạn có thể nhanh chóng sắp xếp các số theo thứ tự tăng dần với
pip install numpy7
Ngoài sắp xếp, trả về một bản sao đã sắp xếp của một mảng, bạn có thể sử dụng
pip install numpy
67, là cách sắp xếp gián tiếp dọc theo một trục xác định,pip install numpy
68, là cách sắp xếp ổn định gián tiếp trên nhiều khóa,pip install numpy
69, sẽ tìm các phần tử trong một mảng được sắp xếp vàpip install numpy
70, là một sắp xếp một phần
Để đọc thêm về cách sắp xếp một mảng, hãy xem.
pip install numpy71
Nếu bạn bắt đầu với những mảng này
pip install numpy8
Bạn có thể nối chúng với
pip install numpy65
pip install numpy9
Hoặc, nếu bạn bắt đầu với những mảng này
import numpy as np0
Bạn có thể nối chúng với
import numpy as np1
Để xóa các phần tử khỏi một mảng, thật đơn giản khi sử dụng chỉ mục để chọn các phần tử mà bạn muốn giữ lại
Để đọc thêm về concatenate, xem.
pip install numpy73
Làm thế nào để bạn biết hình dạng và kích thước của một mảng?#
Phần này bao gồm
pip install numpy74,
pip install numpy75,
pip install numpy76
pip install numpy74 sẽ cho bạn biết số lượng trục hoặc kích thước của mảng
pip install numpy75 sẽ cho bạn biết tổng số phần tử của mảng. Đây là sản phẩm của các phần tử của hình dạng của mảng
pip install numpy76 sẽ hiển thị một bộ số nguyên cho biết số lượng phần tử được lưu trữ dọc theo mỗi chiều của mảng. Ví dụ, nếu bạn có một mảng 2-D với 2 hàng và 3 cột, hình dạng của mảng là
pip install numpy80
Ví dụ: nếu bạn tạo mảng này
import numpy as np2
Để tìm số chiều của mảng, hãy chạy
import numpy as np3
Để tìm tổng số phần tử trong mảng, hãy chạy
import numpy as np4
Và để tìm hình dạng của mảng của bạn, hãy chạy
import numpy as np5
Bạn có thể định hình lại mảng không?#
Phần này bao gồm
pip install numpy81
Đúng
Sử dụng
pip install numpy81 sẽ tạo hình dạng mới cho mảng mà không thay đổi dữ liệu. Chỉ cần nhớ rằng khi bạn sử dụng phương thức định hình lại, mảng bạn muốn tạo cần phải có cùng số lượng phần tử như mảng ban đầu. Nếu bạn bắt đầu với một mảng có 12 phần tử, bạn sẽ cần đảm bảo rằng mảng mới của bạn cũng có tổng cộng 12 phần tử
Nếu bạn bắt đầu với mảng này
import numpy as np6
Bạn có thể sử dụng
pip install numpy83 để định hình lại mảng của mình. Ví dụ: bạn có thể định hình lại mảng này thành một mảng có ba hàng và hai cột
import numpy as np7
Với
pip install numpy84, bạn có thể chỉ định một số tham số tùy chọn
import numpy as np8
pip install numpy85 là mảng cần định hình lại
pip install numpy86 là hình dạng mới mà bạn muốn. Bạn có thể chỉ định một số nguyên hoặc một bộ số nguyên. Nếu bạn chỉ định một số nguyên, kết quả sẽ là một mảng có độ dài đó. Hình dạng phải tương thích với hình dạng ban đầu
pip install numpy87
pip install numpy88 có nghĩa là đọc/ghi các phần tử sử dụng thứ tự chỉ mục giống C,
pip install numpy89 có nghĩa là đọc/ghi các phần tử sử dụng thứ tự chỉ mục giống Fortran,
pip install numpy90 có nghĩa là đọc/ghi các phần tử theo thứ tự chỉ mục giống Fortran nếu a là tiếp giáp Fortran . [Đây là thông số tùy chọn và không cần chỉ định. ]
Nếu bạn muốn tìm hiểu thêm về C và thứ tự Fortran, bạn có thể đọc thêm về tổ chức nội bộ của mảng NumPy tại đây . Về cơ bản, các lệnh C và Fortran phải thực hiện với cách các chỉ số tương ứng với thứ tự mà mảng được lưu trữ trong bộ nhớ. Trong Fortran, khi di chuyển qua các phần tử của mảng hai chiều khi nó được lưu trữ trong bộ nhớ, chỉ mục đầu tiên là chỉ mục thay đổi nhanh nhất. Khi chỉ mục đầu tiên di chuyển sang hàng tiếp theo khi nó thay đổi, ma trận được lưu trữ từng cột một. Đây là lý do tại sao Fortran được coi là ngôn ngữ chính của Cột. Mặt khác, trong C, chỉ số cuối cùng thay đổi nhanh nhất. Ma trận được lưu trữ theo hàng, làm cho nó trở thành ngôn ngữ Hàng chính. Những gì bạn làm cho C hoặc Fortran phụ thuộc vào việc duy trì quy ước lập chỉ mục hay không sắp xếp lại dữ liệu quan trọng hơn.
Tìm hiểu thêm về thao tác với hình dạng tại đây .
Cách chuyển đổi mảng 1D thành mảng 2D [cách thêm trục mới vào mảng]#
Phần này bao gồm _______ 191, _______ 192
Bạn có thể sử dụng
pip install numpy91 và
pip install numpy92 để tăng kích thước của mảng hiện tại của mình
Sử dụng
pip install numpy91 sẽ tăng kích thước mảng của bạn lên một chiều khi được sử dụng một lần. Điều này có nghĩa là mảng 1D sẽ trở thành mảng 2D, mảng 2D sẽ trở thành mảng 3D, v.v.
Ví dụ: nếu bạn bắt đầu với mảng này
import numpy as np9
Bạn có thể sử dụng
pip install numpy91 để thêm một trục mới
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]0
Bạn có thể chuyển đổi một mảng 1D một cách rõ ràng bằng vectơ hàng hoặc vectơ cột bằng cách sử dụng
pip install numpy91. Ví dụ: bạn có thể chuyển đổi mảng 1D thành vectơ hàng bằng cách chèn một trục dọc theo chiều thứ nhất
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]1
Hoặc, đối với một vectơ cột, bạn có thể chèn một trục dọc theo chiều thứ hai
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]2
Bạn cũng có thể mở rộng một mảng bằng cách chèn một trục mới tại một vị trí đã chỉ định với
pip install numpy92
Ví dụ: nếu bạn bắt đầu với mảng này
import numpy as np9
Bạn có thể sử dụng
pip install numpy92 để thêm một trục ở vị trí chỉ số 1 với
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]4
Bạn có thể thêm một trục ở vị trí chỉ số 0 với
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]5
Tìm thêm thông tin về newaxis tại đây và
import numpy as np00 tại
import numpy as np00.
Lập chỉ mục và cắt lát #
Bạn có thể lập chỉ mục và cắt các mảng NumPy giống như cách bạn có thể cắt các danh sách Python
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]6
Bạn có thể hình dung nó theo cách này
Bạn có thể muốn lấy một phần của mảng hoặc các phần tử mảng cụ thể để sử dụng trong phân tích sâu hơn hoặc các hoạt động bổ sung. Để làm điều đó, bạn sẽ cần tập hợp con, cắt và/hoặc lập chỉ mục cho các mảng của mình
Nếu bạn muốn chọn các giá trị từ mảng của mình đáp ứng các điều kiện nhất định, thì thật đơn giản với NumPy
Ví dụ: nếu bạn bắt đầu với mảng này
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]7
Bạn có thể dễ dàng in tất cả các giá trị trong mảng nhỏ hơn 5
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]8
Ví dụ, bạn cũng có thể chọn các số bằng hoặc lớn hơn 5 và sử dụng điều kiện đó để lập chỉ mục cho một mảng
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]9
Có thể chọn các phần tử chia hết cho 2
pip install numpy20
Hoặc bạn có thể chọn các phần tử thỏa mãn hai điều kiện bằng cách sử dụng toán tử
import numpy as np02 và
import numpy as np03
pip install numpy21
Bạn cũng có thể sử dụng các toán tử logic & và. để trả về các giá trị boolean xác định xem các giá trị trong một mảng có đáp ứng một điều kiện nhất định hay không. Điều này có thể hữu ích với các mảng chứa tên hoặc các giá trị phân loại khác
pip install numpy22
Bạn cũng có thể sử dụng
import numpy as np04 để chọn các phần tử hoặc chỉ số từ một mảng
Bắt đầu với mảng này
pip install numpy3
Bạn có thể sử dụng
import numpy as np04 để in các chỉ số của các phần tử, chẳng hạn như nhỏ hơn 5
pip install numpy24
Trong ví dụ này, một bộ mảng được trả về. một cho mỗi chiều. Mảng đầu tiên biểu thị các chỉ mục hàng nơi các giá trị này được tìm thấy và mảng thứ hai biểu thị các chỉ mục cột nơi các giá trị được tìm thấy
Nếu bạn muốn tạo danh sách tọa độ nơi các phần tử tồn tại, bạn có thể nén các mảng, lặp qua danh sách tọa độ và in chúng. Ví dụ
pip install numpy25
Bạn cũng có thể sử dụng
import numpy as np04 để in các phần tử trong một mảng nhỏ hơn 5 với
pip install numpy26
Nếu phần tử bạn đang tìm kiếm không tồn tại trong mảng, thì mảng chỉ số được trả về sẽ trống. Ví dụ
pip install numpy27
Tìm hiểu thêm về lập chỉ mục và cắt tại đây và tại đây .
Đọc thêm về cách sử dụng hàm khác không tại.
import numpy as np07
Cách tạo mảng từ dữ liệu có sẵn#
Phần này bao gồm
import numpy as np08,
import numpy as np09,
import numpy as np10,
import numpy as np11,
import numpy as np12,
import numpy as np13
Bạn có thể dễ dàng tạo một mảng mới từ một phần của mảng hiện có
Giả sử bạn có mảng này
pip install numpy28
Bạn có thể tạo một mảng mới từ một phần của mảng bất kỳ lúc nào bằng cách chỉ định nơi bạn muốn cắt mảng của mình
pip install numpy29
Tại đây, bạn đã lấy một phần của mảng từ vị trí chỉ mục 3 đến vị trí chỉ mục 8
Bạn cũng có thể xếp chồng hai mảng hiện có, theo cả chiều dọc và chiều ngang. Giả sử bạn có hai mảng,
import numpy as np14 và
import numpy as np15
pip install numpy30
Bạn có thể xếp chúng theo chiều dọc với
import numpy as np16
pip install numpy31
Hoặc xếp chúng theo chiều ngang với
import numpy as np17
pip install numpy32
Bạn có thể chia một mảng thành nhiều mảng nhỏ hơn bằng cách sử dụng
import numpy as np18. Bạn có thể chỉ định số mảng có hình dạng bằng nhau để trả về hoặc các cột mà sau đó phép chia sẽ xảy ra
Giả sử bạn có mảng này
pip install numpy33
Nếu bạn muốn chia mảng này thành ba mảng có hình dạng bằng nhau, bạn sẽ chạy
pip install numpy34
Nếu bạn muốn tách mảng của mình sau cột thứ ba và thứ tư, bạn sẽ chạy
pip install numpy35
Tìm hiểu thêm về xếp chồng và chia mảng tại đây .
Bạn có thể sử dụng phương thức
import numpy as np19 để tạo một đối tượng mảng mới xem dữ liệu giống như mảng ban đầu [một bản sao nông]
Lượt xem là một khái niệm quan trọng của NumPy. Các hàm NumPy, cũng như các hoạt động như lập chỉ mục và cắt, sẽ trả về các dạng xem bất cứ khi nào có thể. Điều này giúp tiết kiệm bộ nhớ và nhanh hơn [không phải sao chép dữ liệu]. Tuy nhiên, điều quan trọng là phải biết điều này - sửa đổi dữ liệu trong chế độ xem cũng sẽ sửa đổi mảng ban đầu
Giả sử bạn tạo mảng này
pip install numpy3
Bây giờ chúng ta tạo một mảng
import numpy as np20 bằng cách cắt
pip install numpy85 và sửa đổi phần tử đầu tiên của
import numpy as np20. Điều này cũng sẽ sửa đổi phần tử tương ứng trong
pip install numpy85
pip install numpy37
Sử dụng phương thức
import numpy as np24 sẽ tạo một bản sao hoàn chỉnh của mảng và dữ liệu của nó [một bản sao sâu]. Để sử dụng cái này trên mảng của bạn, bạn có thể chạy
pip install numpy38
Tìm hiểu thêm về bản sao và lượt xem tại đây .
Các phép toán mảng cơ bản#
Phần này bao gồm cộng, trừ, nhân, chia, v.v.
Khi bạn đã tạo các mảng của mình, bạn có thể bắt đầu làm việc với chúng. Ví dụ: giả sử bạn đã tạo hai mảng, một mảng được gọi là “dữ liệu” và một mảng được gọi là “cái”
Bạn có thể thêm các mảng cùng với dấu cộng
pip install numpy39
Tất nhiên, bạn có thể làm nhiều hơn là chỉ cộng
pip install numpy40
Thao tác cơ bản rất đơn giản với NumPy. Nếu bạn muốn tìm tổng các phần tử trong một mảng, bạn sẽ sử dụng
import numpy as np25. Điều này hoạt động cho mảng 1D, mảng 2D và mảng ở kích thước cao hơn
pip install numpy41
Để thêm các hàng hoặc cột trong mảng 2D, bạn sẽ chỉ định trục
Nếu bạn bắt đầu với mảng này
pip install numpy42
Bạn có thể tổng hợp trên trục của các hàng với
pip install numpy43
Bạn có thể tính tổng trên trục của các cột với
pip install numpy44
Tìm hiểu thêm về các thao tác cơ bản tại đây .
Phát thanh truyền hình#
Đôi khi bạn có thể muốn thực hiện một phép toán giữa một mảng và một số [còn được gọi là phép toán giữa một vectơ và vô hướng] hoặc giữa các mảng có hai kích thước khác nhau. Ví dụ: mảng của bạn [chúng tôi sẽ gọi nó là "dữ liệu"] có thể chứa thông tin về khoảng cách tính bằng dặm nhưng bạn muốn chuyển đổi thông tin thành km. Bạn có thể thực hiện thao tác này với
pip install numpy45
NumPy hiểu rằng phép nhân sẽ xảy ra với từng ô. Khái niệm đó được gọi là phát sóng. Phát sóng là một cơ chế cho phép NumPy thực hiện các thao tác trên các mảng có hình dạng khác nhau. Kích thước của mảng của bạn phải tương thích, ví dụ: khi kích thước của cả hai mảng bằng nhau hoặc khi một trong số chúng bằng 1. Nếu kích thước không tương thích, bạn sẽ nhận được một
import numpy as np26
Tìm hiểu thêm về phát tại đây .
Các hoạt động mảng hữu ích hơn #
Phần này bao gồm giá trị tối đa, tối thiểu, tổng, giá trị trung bình, sản phẩm, độ lệch chuẩn, v.v.
NumPy cũng thực hiện các chức năng tổng hợp. Ngoài
import numpy as np27,
import numpy as np28 và
import numpy as np29, bạn có thể dễ dàng chạy
import numpy as np30 để lấy giá trị trung bình,
import numpy as np31 để lấy kết quả nhân các phần tử với nhau,
import numpy as np32 để lấy độ lệch chuẩn, v.v.
pip install numpy46
Hãy bắt đầu với mảng này, được gọi là “a”
pip install numpy47
Rất phổ biến khi muốn tổng hợp dọc theo một hàng hoặc cột. Theo mặc định, mọi hàm tổng hợp NumPy sẽ trả về tổng hợp của toàn bộ mảng. Để tìm tổng hoặc giá trị nhỏ nhất của các phần tử trong mảng của bạn, hãy chạy
pip install numpy48
Hoặc
pip install numpy49
Bạn có thể chỉ định trục nào bạn muốn tính toán hàm tổng hợp. Ví dụ: bạn có thể tìm giá trị nhỏ nhất trong mỗi cột bằng cách chỉ định
import numpy as np33
import numpy as np10
Bốn giá trị được liệt kê ở trên tương ứng với số lượng cột trong mảng của bạn. Với mảng bốn cột, bạn sẽ nhận được bốn giá trị làm kết quả
Đọc thêm về các phương pháp mảng tại đây .
Tạo ma trận#
Bạn có thể chuyển các danh sách danh sách Python để tạo mảng 2-D [hoặc “ma trận”] để biểu diễn chúng trong NumPy
import numpy as np11
Các hoạt động lập chỉ mục và cắt lát rất hữu ích khi bạn thao tác với ma trận
import numpy as np12
Bạn có thể tổng hợp các ma trận giống như cách bạn đã tổng hợp các vectơ
import numpy as np13
Bạn có thể tổng hợp tất cả các giá trị trong một ma trận và bạn có thể tổng hợp chúng trên các cột hoặc hàng bằng cách sử dụng tham số
import numpy as np34. Để minh họa điểm này, hãy xem xét một bộ dữ liệu được sửa đổi một chút
import numpy as np14
Khi bạn đã tạo ma trận của mình, bạn có thể cộng và nhân chúng bằng các toán tử số học nếu bạn có hai ma trận có cùng kích thước
import numpy as np15
Bạn có thể thực hiện các phép tính số học này trên các ma trận có kích thước khác nhau, nhưng chỉ khi một ma trận chỉ có một cột hoặc một hàng. Trong trường hợp này, NumPy sẽ sử dụng các quy tắc phát sóng của nó cho hoạt động
import numpy as np16
Xin lưu ý rằng khi NumPy in các mảng N chiều, trục cuối cùng được lặp lại nhanh nhất trong khi trục đầu tiên là chậm nhất. Ví dụ
import numpy as np17
Thường có những trường hợp chúng ta muốn NumPy khởi tạo các giá trị của một mảng. NumPy cung cấp các chức năng như
import numpy as np35 và
import numpy as np36 và lớp
import numpy as np37 để tạo số ngẫu nhiên cho điều đó. Tất cả những gì bạn cần làm là chuyển số phần tử bạn muốn nó tạo ra
import numpy as np18
Bạn cũng có thể sử dụng
import numpy as np35,
import numpy as np36 và
import numpy as np40 để tạo mảng 2D nếu bạn cung cấp cho chúng một bộ mô tả kích thước của ma trận
import numpy as np19
Đọc thêm về cách tạo mảng, chứa đầy giá trị của
pip install numpy56,
pip install numpy57, các giá trị khác hoặc chưa được khởi tạo, tại quy trình tạo mảng .
Tạo số ngẫu nhiên#
Việc sử dụng tạo số ngẫu nhiên là một phần quan trọng trong cấu hình và đánh giá nhiều thuật toán số và máy học. Cho dù bạn cần khởi tạo ngẫu nhiên các trọng số trong mạng thần kinh nhân tạo, chia dữ liệu thành các tập hợp ngẫu nhiên hoặc xáo trộn ngẫu nhiên tập dữ liệu của mình, thì việc có thể tạo các số ngẫu nhiên [thực ra là các số giả ngẫu nhiên có thể lặp lại] là điều cần thiết
Với
import numpy as np43, bạn có thể tạo các số nguyên ngẫu nhiên từ thấp [hãy nhớ rằng điều này bao gồm NumPy] đến cao [độc quyền]. Bạn có thể đặt
import numpy as np44 để bao gồm số cao
Bạn có thể tạo một mảng 2 x 4 các số nguyên ngẫu nhiên trong khoảng từ 0 đến 4 với
pip install numpy00
Đọc thêm về tạo số ngẫu nhiên tại đây .
Cách nhận các vật phẩm độc đáo và số lượng #
Phần này bao gồm
import numpy as np45
Bạn có thể dễ dàng tìm thấy các phần tử duy nhất trong một mảng với
import numpy as np46
Ví dụ: nếu bạn bắt đầu với mảng này
pip install numpy01
bạn có thể sử dụng
import numpy as np46 để in các giá trị duy nhất trong mảng của mình
pip install numpy02
Để lấy các chỉ số của các giá trị duy nhất trong một mảng NumPy [một mảng gồm các vị trí chỉ mục đầu tiên của các giá trị duy nhất trong mảng], chỉ cần chuyển đối số
import numpy as np48 trong
import numpy as np45 cũng như mảng của bạn
pip install numpy03
Bạn có thể chuyển đối số
import numpy as np50 trong
import numpy as np45 cùng với mảng của mình để lấy tần số đếm của các giá trị duy nhất trong mảng NumPy
pip install numpy04
Điều này cũng hoạt động với mảng 2D. Nếu bạn bắt đầu với mảng này
pip install numpy05
Bạn có thể tìm thấy các giá trị duy nhất với
pip install numpy06
Nếu đối số trục không được thông qua, mảng 2D của bạn sẽ bị làm phẳng
Nếu bạn muốn nhận các hàng hoặc cột duy nhất, hãy đảm bảo chuyển đối số
import numpy as np34. Để tìm các hàng duy nhất, hãy chỉ định
import numpy as np33 và đối với các cột, hãy chỉ định
import numpy as np54
pip install numpy07
Để có được các hàng, vị trí chỉ mục và số lần xuất hiện duy nhất, bạn có thể sử dụng
pip install numpy08
Để tìm hiểu thêm về cách tìm các phần tử duy nhất trong một mảng, hãy xem
import numpy as np55
Chuyển đổi và định hình lại một ma trận#
Phần này bao gồm
pip install numpy81,
import numpy as np57,
import numpy as np58
Thông thường cần phải chuyển đổi ma trận của bạn. Mảng NumPy có thuộc tính
import numpy as np59 cho phép bạn chuyển đổi ma trận
Bạn cũng có thể cần chuyển kích thước của ma trận. Ví dụ, điều này có thể xảy ra khi bạn có một mô hình mong đợi một hình dạng đầu vào nhất định khác với tập dữ liệu của bạn. Đây là nơi phương pháp
import numpy as np60 có thể hữu ích. Bạn chỉ cần chuyển vào các kích thước mới mà bạn muốn cho ma trận
pip install numpy09
Bạn cũng có thể sử dụng
import numpy as np61 để đảo ngược hoặc thay đổi các trục của một mảng theo các giá trị bạn chỉ định
Nếu bạn bắt đầu với mảng này
pip install numpy20
Bạn có thể chuyển đổi mảng của mình bằng
import numpy as np57
pip install numpy21
Bạn cũng có thể sử dụng
import numpy as np58
pip install numpy22
Để tìm hiểu thêm về hoán vị và định hình lại mảng, hãy xem
import numpy as np64 và
import numpy as np60
Cách đảo ngược một mảng#
Phần này bao gồm
import numpy as np66
Hàm
import numpy as np66 của NumPy cho phép bạn lật hoặc đảo ngược nội dung của một mảng dọc theo một trục. Khi sử dụng
import numpy as np66, hãy chỉ định mảng bạn muốn đảo ngược và trục. Nếu bạn không chỉ định trục, NumPy sẽ đảo ngược nội dung dọc theo tất cả các trục của mảng đầu vào của bạn
Đảo ngược mảng 1D
Nếu bạn bắt đầu với một mảng 1D như thế này
pip install numpy23
Bạn có thể đảo ngược nó với
pip install numpy24
Nếu bạn muốn in mảng bị đảo ngược của mình, bạn có thể chạy
pip install numpy25
Đảo ngược một mảng 2D
Một mảng 2D hoạt động theo cùng một cách
Nếu bạn bắt đầu với mảng này
pip install numpy26
Bạn có thể đảo ngược nội dung trong tất cả các hàng và tất cả các cột bằng
pip install numpy27
Bạn chỉ có thể dễ dàng đảo ngược các hàng với
pip install numpy28
Hoặc chỉ đảo ngược các cột với
pip install numpy29
Bạn cũng có thể đảo ngược nội dung của chỉ một cột hoặc hàng. Ví dụ: bạn có thể đảo ngược nội dung của hàng ở vị trí chỉ mục 1 [hàng thứ hai]
pip install numpy00
Bạn cũng có thể đảo ngược cột ở vị trí chỉ số 1 [cột thứ hai]
pip install numpy01
Đọc thêm về đảo ngược mảng tại
import numpy as np69
Định hình lại và làm phẳng mảng nhiều chiều#
Phần này bao gồm
import numpy as np70,
import numpy as np71
Có hai cách phổ biến để làm phẳng một mảng.
import numpy as np70 và
import numpy as np73. Sự khác biệt chính giữa hai mảng này là mảng mới được tạo bằng cách sử dụng
import numpy as np71 thực sự là một tham chiếu đến mảng cha [i. e. , một cái nhìn"]. Điều này có nghĩa là bất kỳ thay đổi nào đối với mảng mới cũng sẽ ảnh hưởng đến mảng cha. Vì
import numpy as np75 không tạo bản sao nên bộ nhớ của nó hiệu quả
Nếu bạn bắt đầu với mảng này
pip install numpy02
Bạn có thể sử dụng
import numpy as np76 để làm phẳng mảng của mình thành mảng 1D
pip install numpy03
Khi bạn sử dụng
import numpy as np76, các thay đổi đối với mảng mới của bạn sẽ không thay đổi mảng gốc
Ví dụ
pip install numpy04
Nhưng khi bạn sử dụng
import numpy as np75, những thay đổi bạn thực hiện đối với mảng mới sẽ ảnh hưởng đến mảng cha
Ví dụ
pip install numpy05
Đọc thêm về
import numpy as np76 tại
import numpy as np80 và
import numpy as np75 tại
import numpy as np75
Cách truy cập chuỗi tài liệu để biết thêm thông tin#
Phần này bao gồm
import numpy as np83,
import numpy as np84,
import numpy as np85
Khi nói đến hệ sinh thái khoa học dữ liệu, Python và NumPy được xây dựng có tính đến người dùng. Một trong những ví dụ tốt nhất về điều này là quyền truy cập tích hợp vào tài liệu. Mỗi đối tượng chứa tham chiếu đến một chuỗi, được gọi là chuỗi tài liệu. Trong hầu hết các trường hợp, chuỗi tài liệu này chứa một bản tóm tắt ngắn gọn và nhanh chóng về đối tượng và cách sử dụng nó. Python có chức năng
import numpy as np83 tích hợp có thể giúp bạn truy cập thông tin này. Điều này có nghĩa là gần như bất cứ lúc nào bạn cần thêm thông tin, bạn có thể sử dụng
import numpy as np83 để nhanh chóng tìm thấy thông tin bạn cần
Ví dụ
pip install numpy06
Vì quyền truy cập vào thông tin bổ sung rất hữu ích, IPython sử dụng ký tự
import numpy as np84 làm cách viết tắt để truy cập tài liệu này cùng với các thông tin liên quan khác. IPython là một trình bao lệnh cho tính toán tương tác bằng nhiều ngôn ngữ. Bạn có thể tìm thêm thông tin về IPython tại đây
Ví dụ
pip install numpy07
Bạn thậm chí có thể sử dụng ký hiệu này cho các phương thức đối tượng và chính các đối tượng
Giả sử bạn tạo mảng này
pip install numpy2
Sau đó, bạn có thể thu được rất nhiều thông tin hữu ích [đầu tiên là thông tin chi tiết về chính
pip install numpy85, tiếp theo là chuỗi tài liệu của
pip install numpy44 trong đó
pip install numpy85 là một ví dụ]
pip install numpy09
Điều này cũng có tác dụng đối với các chức năng và các đối tượng khác mà bạn tạo. Chỉ cần nhớ bao gồm một chuỗi tài liệu với chức năng của bạn bằng cách sử dụng một chuỗi ký tự [
import numpy as np92 hoặc
import numpy as np93 xung quanh tài liệu của bạn]
Ví dụ: nếu bạn tạo chức năng này
pip install numpy10
Bạn có thể lấy thông tin về chức năng
pip install numpy11
Bạn có thể tiếp cận một cấp độ thông tin khác bằng cách đọc mã nguồn của đối tượng mà bạn quan tâm. Sử dụng dấu hỏi kép [
import numpy as np85] cho phép bạn truy cập mã nguồn
Ví dụ
pip install numpy12
Nếu đối tượng được đề cập được biên dịch bằng ngôn ngữ không phải Python, sử dụng
import numpy as np85 sẽ trả về cùng thông tin như
import numpy as np84. Ví dụ, bạn sẽ tìm thấy điều này với rất nhiều đối tượng và loại tích hợp sẵn
pip install numpy13
và
pip install numpy14
có cùng đầu ra vì chúng được biên dịch bằng ngôn ngữ lập trình khác với Python
Làm việc với các công thức toán học#
Việc dễ dàng triển khai các công thức toán học hoạt động trên mảng là một trong những điều khiến NumPy được sử dụng rộng rãi trong cộng đồng khoa học Python
Ví dụ: đây là công thức lỗi bình phương trung bình [một công thức trung tâm được sử dụng trong các mô hình học máy được giám sát xử lý hồi quy]
Việc triển khai công thức này rất đơn giản và dễ hiểu trong NumPy
Điều làm cho công việc này hoạt động hiệu quả là
import numpy as np97 và
import numpy as np98 có thể chứa một hoặc một nghìn giá trị. Chúng chỉ cần có cùng kích thước
Bạn có thể hình dung nó theo cách này
Trong ví dụ này, cả vectơ dự đoán và nhãn đều chứa ba giá trị, nghĩa là
import numpy as np99 có giá trị là ba. Sau khi chúng tôi thực hiện phép trừ, các giá trị trong vectơ được bình phương. Sau đó, NumPy tính tổng các giá trị và kết quả của bạn là giá trị lỗi cho dự đoán đó và điểm cho chất lượng của mô hình
Cách lưu và tải đối tượng NumPy#
Phần này bao gồm
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]00,
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]01,
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]02,
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]03,
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]04
Tại một thời điểm nào đó, bạn sẽ muốn lưu các mảng của mình vào đĩa và tải chúng trở lại mà không cần phải chạy lại mã. May mắn thay, có một số cách để lưu và tải các đối tượng bằng NumPy. Các đối tượng ndarray có thể được lưu vào và tải từ các tệp đĩa với các hàm
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]05 và
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]06 xử lý các tệp văn bản thông thường, các hàm
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]07 và
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]08 xử lý các tệp nhị phân NumPy với một. phần mở rộng tệp npy và hàm
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]09 xử lý các tệp NumPy có phần mở rộng. phần mở rộng tệp npz
Các. npy và. Các tệp npz lưu trữ dữ liệu, hình dạng, dtype và các thông tin khác cần thiết để xây dựng lại ndarray theo cách cho phép mảng được truy xuất chính xác, ngay cả khi tệp nằm trên một máy khác có kiến trúc khác
Nếu bạn muốn lưu trữ một đối tượng ndarray, hãy lưu trữ nó dưới dạng. tệp npy bằng cách sử dụng
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]00. Nếu bạn muốn lưu trữ nhiều hơn một đối tượng ndarray trong một tệp, hãy lưu nó dưới dạng. tệp npz bằng cách sử dụng
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]01. Bạn cũng có thể lưu một số mảng vào một tệp duy nhất ở định dạng nén npz với
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]12
Thật dễ dàng để lưu và tải và sắp xếp mảng với
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]13. Chỉ cần đảm bảo chỉ định mảng bạn muốn lưu và tên tệp. Ví dụ: nếu bạn tạo mảng này
pip install numpy2
Bạn có thể lưu nó dưới dạng “filename. npy” với
pip install numpy16
Bạn có thể sử dụng
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]14 để xây dựng lại mảng của mình
pip install numpy17
Nếu bạn muốn kiểm tra mảng của mình, bạn có thể chạy
pip install numpy18
Bạn có thể lưu một mảng NumPy dưới dạng tệp văn bản thuần túy như một. csv hoặc. txt với
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]02
Ví dụ: nếu bạn tạo mảng này
pip install numpy19
Bạn có thể dễ dàng lưu nó dưới dạng. csv với tên “new_file. csv” như thế này
pip install numpy20
Bạn có thể tải tệp văn bản đã lưu của mình một cách nhanh chóng và dễ dàng bằng cách sử dụng
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]16
pip install numpy21
Các hàm
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]17 và
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]16 chấp nhận các tham số tùy chọn bổ sung như đầu trang, chân trang và dấu phân cách. Mặc dù các tệp văn bản có thể dễ dàng chia sẻ hơn,. npy và. các tệp npz nhỏ hơn và đọc nhanh hơn. Nếu bạn cần xử lý tệp văn bản phức tạp hơn [ví dụ: nếu bạn cần làm việc với các dòng chứa giá trị bị thiếu], bạn sẽ muốn sử dụng hàm
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]19
Với
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]06, bạn có thể chỉ định đầu trang, chân trang, nhận xét, v.v.
Tìm hiểu thêm về quy trình đầu vào và đầu ra tại đây .
Nhập và xuất CSV#
Thật đơn giản để đọc trong CSV chứa thông tin hiện có. Cách tốt nhất và dễ nhất để làm điều này là sử dụng Pandas
pip install numpy22
Thật đơn giản khi sử dụng Pandas để xuất mảng của bạn. Nếu bạn chưa quen với NumPy, bạn có thể muốn tạo khung dữ liệu Pandas từ các giá trị trong mảng của mình, sau đó ghi khung dữ liệu vào tệp CSV bằng Pandas
Nếu bạn đã tạo mảng này “a”
pip install numpy23
Bạn có thể tạo một khung dữ liệu Pandas
pip install numpy24
Bạn có thể dễ dàng lưu khung dữ liệu của mình với
pip install numpy25
Và đọc CSV của bạn với
pip install numpy26
Bạn cũng có thể lưu mảng của mình bằng phương thức NumPy
>>> a = np.arange[6] >>> a2 = a[np.newaxis, :] >>> a2.shape [1, 6]06
pip install numpy27
Nếu đang sử dụng dòng lệnh, bạn có thể đọc CSV đã lưu của mình bất kỳ lúc nào bằng một lệnh chẳng hạn như
pip install numpy28
Hoặc bạn có thể mở tệp bất cứ lúc nào bằng trình soạn thảo văn bản
Nếu bạn muốn tìm hiểu thêm về Pandas, hãy xem tài liệu chính thức của Pandas. Tìm hiểu cách cài đặt Pandas với thông tin cài đặt Pandas chính thức
Vẽ mảng với Matplotlib#
Nếu bạn cần tạo một biểu đồ cho các giá trị của mình, thì rất đơn giản với Matplotlib
Ví dụ, bạn có thể có một mảng như thế này
pip install numpy29
Nếu bạn đã cài đặt Matplotlib, bạn có thể nhập nó bằng
pip install numpy30
Tất cả những gì bạn cần làm để vẽ các giá trị của mình là chạy
pip install numpy31
Ví dụ: bạn có thể vẽ một mảng 1D như thế này
pip install numpy32
Với Matplotlib, bạn có quyền truy cập vào vô số tùy chọn trực quan hóa
pip install numpy33
Để đọc thêm về Matplotlib và những gì nó có thể làm, hãy xem tài liệu chính thức. Để biết hướng dẫn về cách cài đặt Matplotlib, hãy xem phần cài đặt chính thức