Tự Học Data Science · 30/07/2023 0

Chương 1 – IPython – Trên cả Python

Có rất nhiều lựa chọn môi trường phát triển cho Python, và tôi thường được hỏi tôi sử dụng môi trường nào trong công việc của mình. Môi trường ưa thích của tôi là IPython. IPython (viết tắt của Interactive Python) được công bố vào năm 2001 bởi Fernando Perez như một trình thông dịch Python nâng cao. Nếu Python là động cơ, bạn có thể xem IPython như bảng điều khiển động cơ.

Ngoài việc là một giao diện tương tác hữu ích cho Python, IPython cũng cung cấp một số cú pháp bổ sung hữu ích cho Python; chúng ta sẽ bàn về những cú pháp hữu ích nhất ở đây. Ngoài ra, IPython liên kết chặt chẽ với dự án Jupyter, cung cấp một web-based notebook cực kỳ đa dụng cho quá trình phát triển, hợp tác, chia sẻ và thậm chí xuất bản kết quả của các dự án khoa học dữ liệu. IPython notebook thực tế chỉ là một trong số những ứng dụng của Jupyter Notebook, nó cũng có thể dùng cho Julia, R và các ngôn ngữ lập trình khác. Một ví dụ về tính hữu ích của định dạng notebook là ta chỉ cần nhìn vào trang đang đọc: toàn bộ bản thảo của cuốn sách này được soạn thảo dưới dạng một tập hợp các notebook IPython.

IPython tập trung vào việc sử dụng Python một cách hiệu quả cho tính toán khoa học và dữ liệu. Chương này sẽ bắt đầu bằng cách đi qua một số tính năng IPython hữu ích cho việc thực hành khoa học dữ liệu, tập trung đặc biệt vào cú pháp mà nó cung cấp, ngoài các tính năng tiêu chuẩn của Python. Tiếp theo, chúng ta sẽ đi sâu hơn vào một số “magic command” hữu ích thuận tiện hơn trong việc tạo và sử dụng code. Cuối cùng, chúng ta sẽ đề cập đến một số tính năng của notebook giúp nó trở nên hữu ích trong việc hiểu dữ liệu và chia sẻ kết quả.

Shell hay Notebook?

Có hai phương pháp chính để sử dụng IPython mà chúng ta sẽ thảo luận trong chương này: IPython shell và IPython notebook. Hầu hết nội dung trong chương này liên quan đến cả hai, và các ví dụ sẽ chuyển đổi giữa chúng sao cho thuận tiện nhất. Một vài phần chỉ sử dụng một trong hai, mình sẽ tường thuật rõ ràng. Trước khi chúng ta bắt đầu, ta sẽ đi qua cách khởi chạy IPython shell và IPython notebook.

Khởi động IPython Shell

Chương này, giống như toàn bộ các bài viết, không được thể được tiếp thu một cách thụ động. Tôi khuyên bạn khi đọc chương này, hãy làm theo và thử nghiệm với các công cụ và cú pháp chúng tôi đề cập: khả năng ghi nhớ cơ bản qua việc thực hiện điều này sẽ hữu ích hơn rất nhiều so với việc chỉ đơn giản đọc về nó. Bắt đầu bằng cách khởi chạy trình thông dịch IPython bằng cách gõ ipython trên Command Prompt (Windows) hoặc Terminal (Linux); hoặc nếu bạn đã cài đặt một bản phân phối Python như Anaconda hoặc EPD, có thể có một công cụ khởi chạy cụ thể tương ứng (tôi sẽ thảo luận về điều này một cách đầy đủ hơn trong Trợ giúp và Tài liệu trong IPython).

Sau khi bạn thực hiện điều này, bạn sẽ thấy một lời nhắc như sau:

Python 3.9.16 (main, Mar  8 2023, 10:39:24) [MSC v.1916 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.29.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: _

Nếu nhận được kết quả như trên, bạn đã sẵn sàng để đi tiếp.

Khởi động Jupyter Notebook

Jupyter notebook là một giao diện đồ họa dựa trên trình duyệt cho shell IPython và xây dựng trên nó một tập hợp nhiều hiệu ứng bắt mắt. Ngoài việc thực thi các câu lệnh Python/IPython, notebook cho phép người dùng chèn văn bản được định dạng (Markdown), hiển thị tĩnh và động, phương trình toán học, các widget JavaScript và nhiều hơn thế nữa. Hơn nữa, những tài liệu này có thể được lưu trữ theo cách cho phép người khác mở chúng và thực thi mã trên hệ thống của họ.

Dù cuốn sách IPython được xem và chỉnh sửa qua cửa sổ trình duyệt web của bạn, nó phải được kết nối với một process Python đang chạy.

$ jupyter notebook

Lệnh này sẽ khởi chạy một máy chủ web cục bộ được hiển thị trên trình duyệt của bạn.Nó ngay lập tức hiển thị một nhật ký cho thấy những gì nó đang làm; nhật ký đó sẽ trông giống như sau:

$ jupyter notebook
[I 09:53:11.738 NotebookApp] Serving notebooks from local directory: C:\windows\system32
[I 09:53:11.738 NotebookApp] Jupyter Notebook 6.4.5 is running at:
[I 09:53:11.740 NotebookApp] http://localhost:8888/?token=8e7a2625e8ebb7cc526fba18b735dc54d9f77763e8e4b5cd
[I 09:53:11.740 NotebookApp]  or http://127.0.0.1:8888/?token=8e7a2625e8ebb7cc526fba18b735dc54d9f77763e8e4b5cd
[I 09:53:11.740 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 09:53:11.838 NotebookApp]

    To access the notebook, open this file in a browser:
        file:///C:/Users/pdluu/AppData/Roaming/jupyter/runtime/nbserver-18608-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/?token=8e7a2625e8ebb7cc526fba18b735dc54d9f77763e8e4b5cd
     or http://127.0.0.1:8888/?token=8e7a2625e8ebb7cc526fba18b735dc54d9f77763e8e4b5cd

Sau khi thực hiện lệnh, trình duyệt mặc định của bạn sẽ tự động mở và điều hướng đến URL trên localhost; địa chỉ chính xác sẽ phụ thuộc vào hệ thống của bạn.Nếu trình duyệt không tự động mở, bạn có thể mở cửa sổ và mở địa chỉ này thủ công (http://localhost:8888/?token=8e7a2625e8ebb7cc526fba18b735dc54d9f77763e8e4b5cd (sửa lại token tùy theo kết quả của bạn)trong ví dụ này).