Numpy có phải là thư viện python chuẩn không?

Trước khi chúng ta bắt đầu. Hướng dẫn Python này là một phần trong loạt bài hướng dẫn Gói Python của chúng tôi. Bạn cũng có thể tìm các chủ đề liên quan đến Numpy khác

Numpy là một trong những gói được sử dụng phổ biến nhất cho tính toán khoa học trong Python. Nó cung cấp một đối tượng mảng nhiều chiều, cũng như các biến thể như mặt nạ và ma trận, có thể được sử dụng cho các hoạt động toán học khác nhau. Numpy tương thích và được sử dụng bởi nhiều gói Python phổ biến khác, bao gồm pandas và matplotlib.  

Tại sao numpy lại phổ biến như vậy? . Một lý do khác là các mảng và hoạt động khó hiểu được vector hóa, có nghĩa là chúng thiếu vòng lặp hoặc lập chỉ mục rõ ràng trong mã. Điều này làm cho mã không chỉ dễ đọc hơn mà còn giống với ký hiệu toán học tiêu chuẩn hơn.  

Ví dụ sau minh họa sự khác biệt về vector hóa giữa Python chuẩn và numpy

Đối với hai mảng A và B có cùng kích thước, nếu chúng ta muốn thực hiện phép nhân vectơ trong Python

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

Trong numpy, điều này có thể được thực hiện đơn giản với dòng mã sau

c = a*b

Numpy làm cho nhiều phép toán được sử dụng rộng rãi trong tính toán khoa học trở nên nhanh chóng và dễ sử dụng, chẳng hạn như

  • Phép nhân Vector-Vector
  • Phép nhân Ma trận-Ma trận và Ma trận-Vector
  • Các phép toán phần tử khôn ngoan trên vectơ và ma trận (i. e. , cộng, trừ, nhân, chia cho một số )
  • So sánh theo phần tử hoặc theo mảng
  • Áp dụng các chức năng theo từng phần tử cho một vectơ/ma trận (như pow, log và exp)
  • Có thể tìm thấy rất nhiều phép toán Đại số tuyến tính trong NumPy. linalg
  • Giảm, thống kê, và nhiều hơn nữa

Các hướng dẫn sau đây sẽ cung cấp cho bạn hướng dẫn từng bước về cách làm việc với NumPy, bao gồm

  • Cách chuyển đổi gấu trúc sang NumPy
  • Cách nhập NumPy trong Python
  • Làm cách nào để biến một mảng NumPy thành một danh sách?
  • Cách xây dựng một mảng NumPy

Nhận phiên bản Python được biên dịch sẵn cho Khoa học dữ liệu

Mặc dù bản phân phối mã nguồn mở của Python có thể phù hợp với một cá nhân, nhưng nó không phải lúc nào cũng đáp ứng các yêu cầu về hỗ trợ, bảo mật hoặc nền tảng của các tổ chức lớn

Đây là lý do tại sao các tổ chức chọn ActivePython cho nhu cầu khoa học dữ liệu, xử lý dữ liệu lớn và phân tích thống kê của họ

Được đóng gói sẵn với các gói quan trọng nhất mà Nhà khoa học dữ liệu cần, ActivePython được biên dịch trước để bạn và nhóm của bạn không phải lãng phí thời gian để định cấu hình bản phân phối nguồn mở. Bạn có thể tập trung vào những gì quan trọng – dành nhiều thời gian hơn để xây dựng các thuật toán và mô hình dự đoán đối với các nguồn dữ liệu lớn của bạn và ít thời gian hơn cho cấu hình hệ thống

Chúng tôi đang tiến thêm một bước trong quá trình học Python bằng cách nghiên cứu các mô-đun là gì và đặc biệt là các thư viện. Chúng ta sẽ xem một số trong số chúng phục vụ cho mục đích gì và tìm hiểu cách nhập và sử dụng chúng

Các mô-đun là gì?

Các mô-đun là dạng mà Python lưu trữ định nghĩa (các lệnh hoặc biến) trong một kho lưu trữ, để chúng có thể được sử dụng sau đó trong một tập lệnh hoặc trong một phiên bản tương tác của diễn giải (như trong trường hợp của chúng tôi, Jupyter Notebook). Do đó, chúng ta không cần phải quay lại để xác định chúng mỗi lần. Ưu điểm chính của Python cho phép chúng ta tách chương trình thành các mô-đun rõ ràng là chúng ta có thể sử dụng lại chúng trong các mô-đun được lập trình khác. Đối với điều này, như chúng ta sẽ thấy trong phần tiếp theo, cần phải nhập các mô-đun mà chúng ta muốn sử dụng. Python đi kèm với một tập hợp các mô-đun tiêu chuẩn mà chúng ta có thể sử dụng làm cơ sở cho một chương trình mới hoặc làm ví dụ để chúng ta có thể bắt đầu tìm hiểu

Python tổ chức các mô-đun, kho lưu trữ. py, trong các gói, không nhiều hơn các thư mục chứa tệp. py (mô-đun) và một kho lưu trữ bắt đầu bằng tên _init_. py. Các gói là một cách cấu trúc không gian theo tên của Python bằng cách sử dụng ´tên của các mô-đun có điểm´. Ví dụ, số của mô-đun A. B chỉ định một mô hình con gọi là B trong một gói gọi là A. Giống như việc sử dụng các mô-đun giúp tác giả của các mô-đun khác nhau không phải lo lắng về tên tương ứng của các biến toàn cục, việc sử dụng các mô-đun được đặt tên có điểm ngăn tác giả của các gói gồm nhiều mô-đun, chẳng hạn như NumPy hoặc thư viện hình ảnh của Python (

└── lát

├── __init__. py

├── modulo 1. py

├── modulo2. py

└── modulo3. py

Để nhập một mô-đun, hãy sử dụng hướng dẫn ´Nhập´´, sau đó là tên của gói (nếu có) thêm tên của mô-đun (không có. py) mà bạn muốn nhập. Nếu các tuyến đường (hoặc ´không gian tên´) lớn, bạn có thể tạo bí danh bằng cách sửa đổi ´as´

Các mô-đun phải được nhập khi bắt đầu chương trình, theo thứ tự bảng chữ cái và đầu tiên là của Python, sau đó là của bên thứ ba và cuối cùng là của ứng dụng

Thư viện Python tiêu chuẩn

Python đi kèm với một thư viện các mô-đun tiêu chuẩn, trong đó chúng ta có thể tìm thấy tất cả thông tin trong Thư viện tiêu chuẩn Python. Để tìm hiểu về cú pháp và ngữ nghĩa, bạn cũng nên có trong tay Tài liệu tham khảo ngôn ngữ Python. Thư viện tiêu chuẩn rất lớn và cung cấp rất nhiều mô-đun thực hiện các loại chức năng, từ các mô-đun được viết bằng C cung cấp quyền truy cập vào các chức năng hệ thống như quyền truy cập vào tệp (tệp I/O)

Trình cài đặt Python cho các nền tảng như Windows, thường bao gồm một thư viện tiêu chuẩn hoàn chỉnh, bao gồm một số thành phần bổ sung. Tuy nhiên, cài đặt Python bằng các gói sẽ yêu cầu trình cài đặt cụ thể

Đi dạo qua thư viện tiêu chuẩn

Thư viện tiêu chuẩn cung cấp nhiều loại mô-đun thực hiện mọi chức năng. Ví dụ: mô-đun Hệ điều hành cung cấp các chức năng điển hình cho phép bạn tương tác với hệ điều hành, như cách cho biết bạn đang ở thư mục nào, thay đổi thư mục, tìm các hàm trợ giúp, mô-đun toán học cung cấp các hàm lượng giác, logarit, thống kê, v.v. Ngoài ra còn có các mô-đun để truy cập internet và xử lý các giao thức với urillib. yêu cầu, để tải xuống dữ liệu trong một URL và smtplib, để gửi email;

Chúng tôi không bao gồm các ví dụ vì vậy chúng tôi không kéo dài quá nhiều, nhưng nếu bạn thực sự quan tâm đến việc học, chúng tôi khuyên bạn nên kiểm tra từng mô-đun này) từ Python Shell hoặc thông qua Jupyter) với hướng dẫn nhỏ này

môi trường ảo

Tuy nhiên, các ứng dụng của Python thường sử dụng các gói và mô-đun không phải là một phần của thư viện chuẩn, trên thực tế, Python đang thiết kế một cách để tạo điều kiện thuận lợi cho khả năng tương tác này. Vấn đề mà chúng tôi nhận thấy, phổ biến trong môi trường mã hóa mở, là các ứng dụng thường xuyên cần một phiên bản cụ thể của thư viện, bởi vì ứng dụng đó yêu cầu một lỗi cụ thể đã được sửa hoặc ứng dụng đã được viết bằng một phiên bản lỗi thời

Điều này có nghĩa là các bản cài đặt Python có thể không tuân thủ các yêu cầu của tất cả các ứng dụng. Nếu ứng dụng A cần phiên bản 1. 0 của một mô-đun cụ thể và ứng dụng B cần phiên bản 2. 0, do đó có các yêu cầu xung đột và để cài đặt phiên bản 1. 0 hoặc 2. 0 sẽ dừng một trong các ứng dụng hoạt động. Giải pháp cho vấn đề này là tạo một môi trường ảo, một thư mục chứa cài đặt Python từ một phiên bản cụ thể, hơn nữa là từ một trong nhiều gói bổ sung. Bằng cách này, các ứng dụng khác nhau có thể sử dụng các môi trường ảo khác nhau. Để giải quyết ví dụ về các yêu cầu xung đột được trích dẫn trước đó, ứng dụng A có thể có môi trường ảo wen với phiên bản 1. 0 được cài đặt, trong khi ứng dụng B có môi trường ảo riêng với phiên bản 2. 0

Thư viện phi tiêu chuẩn

Cho rằng mục tiêu của ví dụ của chúng tôi là thực hiện một thử nghiệm ứng dụng Machine Learning với Python cho một tập dữ liệu đã xác định, chúng tôi sẽ cần một cái gì đó nhiều hơn các thư viện tiêu chuẩn, mặc dù cung cấp cho chúng tôi một số hàm toán học, nhưng lại khiến chúng tôi hơi hụt hẫng. Ví dụ: chúng tôi cũng sẽ cần các mô-đun cho phép chúng tôi làm việc với việc trực quan hóa dữ liệu. Chúng ta sẽ biết những gì phổ biến nhất trong khoa học dữ liệu

  • NumPy. Từ viết tắt của Numerical Python. Đặc điểm mạnh mẽ nhất của nó là nó có thể hoạt động với một loạt các ma trận và kích thước. Nó cũng cung cấp các hàm đại số tuyến tính cơ bản, chuyển đổi sang Fourier, khả năng nâng cao với các số ngẫu nhiên và các công cụ tích hợp với các ngôn ngữ khác ở mức cơ bản như Fortran, C và C ++.  
  • khoa học viễn tưởng. Từ viết tắt của Python khoa học. SciPy được xây dựng xung quanh thư viện NumPy. Nó là một trong những thứ hữu ích nhất với vô số mô-đun cấp cao mà nó có xung quanh khoa học và kỹ thuật, như một biến áp Fourier rời rạc, đại số tuyến tính và ma trận tối ưu hóa
  • Matplotlib. là một thư viện đồ họa, từ biểu đồ đến biểu đồ tuyến tính hoặc bản đồ nhiệt. Nó cũng có thể sử dụng các lệnh Latex để thêm các biểu thức toán học vào biểu đồ
  • gấu trúc. được sử dụng cho các hoạt động và thao tác của dữ liệu có cấu trúc. Đây là một thư viện mới được bổ sung gần đây, nhưng tiện ích rộng lớn của nó đã thúc đẩy việc sử dụng Python trong cộng đồng khoa học.  
  • Scikit Learn dành cho máy học. Được xây dựng trên NumPy, SciPy và matplotlib, thư viện này chứa một số lượng lớn các công cụ hiệu quả cho học máy và lập mô hình thống kê, ví dụ: thuật toán phân loại, hồi quy, phân cụm và giảm kích thước
  • mô hình thống kê. cho mô hình thống kê. Đó là một mô hình Python cho phép người dùng khám phá dữ liệu, ước tính các mô hình thống kê và thực hiện thống kê thử nghiệm. Nó cung cấp một danh sách đầy đủ các thống kê mô tả, kiểm tra, chức năng đồ họa, v.v. cho các loại dữ liệu và công cụ ước tính khác nhau.  
  • sinh ra biển. dựa trên matplotlib, nó được sử dụng để làm cho biểu đồ hấp dẫn hơn và thông tin thống kê trong Python. Mục tiêu của nó là mang lại mức độ liên quan cao hơn cho trực quan hóa, trong các lĩnh vực khám phá và giải thích dữ liệu.   
  • Bokeh. cho phép tạo các biểu đồ 3D tương tác hấp dẫn và các ứng dụng web. Nó được sử dụng để sửa các ứng dụng có truyền dữ liệu
  • ngọn lửa. nó mở rộng khả năng của NumPy và Pandas sang dữ liệu phân tán và phát trực tuyến. Nó có thể được sử dụng để truy cập một số lượng lớn dữ liệu từ các nguồn như Bcolz, MongoDB, SQLAlchemy, Apache Spark, PyTables, v.v.
  • phế liệu. được sử dụng để theo dõi trang web. Đó là một môi trường rất hữu ích để có được chủ sở hữu dữ liệu được xác định. Từ url trang chủ, bạn có thể ´đi sâu vào các trang khác nhau trên trang web để biên dịch thông tin
  • SymPy. nó được sử dụng để tính toán tượng trưng, ​​từ số học, đến phép tính, đại số, toán học rời rạc và vật lý lượng tử. Nó cũng cho phép bạn định dạng kết quả trong mã LaTeX
  • Yêu cầu truy cập web. nó hoạt động theo cách tương tự như thư viện tiêu chuẩn urllib2, nhưng việc viết mã đơn giản hơn nhiều.  

Và bây giờ chúng tôi đề nghị bạn thực hiện một bài tập đơn giản để thực hành một chút. Nó bao gồm các phiên bản xác minh của thư viện Anaconda mà chúng tôi đã cài đặt. Trên trang web của Anaconda, chúng ta có thể thấy sơ đồ này hiển thị các loại thư viện có sẵn khác nhau (IDE cho khoa học dữ liệu, phân tích, tính toán khoa học, trực quan hóa và Học máy. Như bạn có thể thấy, hai thư viện xuất hiện mà chúng ta chưa nói đến, Dask và Numba. Vì vậy, chúng tôi cũng phải điều tra việc sử dụng chúng và cũng kiểm tra xem Anaconda đã cài đặt phiên bản nào cho chúng tôi

Numpy có phải là thư viện python chuẩn không?
Hình 2. Sơ đồ môi trường Anaconda

Để làm được điều đó, bạn không cần phải làm gì khác hơn là viết vào sổ ghi chép Jupyter của mình hoặc sao chép và dán các lệnh sau (với một sửa đổi nhỏ đối với các thư viện không hiển thị)

Với bài đăng này, giờ đây chúng ta đã chuẩn bị mọi thứ để bắt đầu thử nghiệm Machine Learning. Trong phần tiếp theo, chúng tôi sẽ bắt đầu tải xuống dữ liệu và phân tích khám phá. Chúng ta gần đến nơi rồi

NumPy có phải là thư viện Python không?

NumPy là thư viện Python dùng để làm việc với mảng. Nó cũng có các chức năng để làm việc trong miền đại số tuyến tính, biến đổi phạm vi và ma trận. NumPy được tạo ra vào năm 2005 bởi Travis Oliphant. Nó là một dự án mã nguồn mở và bạn có thể sử dụng nó một cách tự do.

Thư viện Python tiêu chuẩn là gì?

Thư viện chuẩn Python là tập hợp các mô-đun tập lệnh mà chương trình Python có thể truy cập để đơn giản hóa quy trình lập trình và loại bỏ nhu cầu viết lại các lệnh thường dùng. They can be used by 'calling/importing' them at the beginning of a script.

NumPy có được cài đặt sẵn trong Python không?

Nếu bạn đã cài đặt bản phân phối Anaconda của Python, NumPy sẽ được cài đặt sẵn và không cần thực hiện thêm bước cài đặt nào. Nếu bạn sử dụng phiên bản Python từ python. org hoặc phiên bản Python đi kèm với hệ điều hành của bạn, Anaconda Prompt và conda hoặc pip có thể được sử dụng để cài đặt NumPy.

Python có bao gồm thư viện chuẩn không?

Ngoài thư viện chuẩn , còn có một bộ sưu tập đang hoạt động gồm hàng trăm nghìn thành phần (từ các chương trình và mô-đun riêng lẻ đến các gói và toàn bộ khung phát triển ứng dụng), có sẵn từ .