Phân tích dữ liệu với Python | Bắt đầu với Jupyter Notebook, Google Colaboratory và Rasberry Pi

Phân tích dữ liệu với Python, Jupyter Notebook, Google Colaboratory và Rasberry Pi

Phân tích dữ liệu với Python, Jupyter Notebook, Google Colaboratory và Rasberry Pi

1. Vì sao chọn phân tích dữ liệu với Python?

1.1. Cơ duyên đến với Python

Tuy đã nghe nói đến Python và đã từng học làm quen qua một số khoá học (đều bỏ dở sau khi học một vài phần lý thuyết mở đầu) thì mình quyết tâm đến với Python bằng một lý do rất tình cờ. Một ngày nọ, chiếc laptop Windows của mình bị hỏng, buộc phải mượn Macbook của vợ để sử dụng và bàng hoàng phát hiện ra Microsoft Power BI không hỗ trợ trên MacOS. Không chỉ có thế, Excel trên MacOS dường như cũng là một thảm hoạ khi không hỗ trợ cài các Plugin quen thuộc như Power Pivot hay Fuzzy Search giống như bản Windows. Ở thời điểm bấy giờ, Power BI là phần mềm mạnh mẽ nhất mình dùng để phân tích dữ liệu và xây dựng các dashboard dùng để phân tích và quản lý toàn bộ các hoạt động Digital Marketing trên công ty. Sau chút bỡ ngỡ với MacOS, mình tin hẳn phải có một giải pháp thay thế nào đó để vừa có thể trải nghiệm MacOS một cách mượt mà nhưng cũng đáp ứng được yêu cầu công việc liên quan nhiều đến xử lý dữ liệu của mình. Và như thế Python xuất hiện như một giải pháp không thể thuyết phục hơn. Mình mất khoảng 10 ngày kể từ Tết dương lịch 2021 để đọc tài liệu trên Oreilly.com và làm quen với Python for Data Science.


Cuốn sách ưa thích đầu tiên của mình về Phân tích dữ liệu với Python | Python for Data Analysis – 2nd Edition

1.2. Vì sao phải Phân tích dữ liệu với Python?

Có rất nhiều lý do để Python xứng đáng là cái tên hàng đầu trong các công cụ phân tích dữ liệu. Đối với mình có thể ra một số lý do như sau:

Chừng này lý do là quá đủ để mình quyết định sử dụng Python là công cụ chính để phân tích dữ liệu rồi đó.

2. Mình đã bắt đầu với Python như thế nào?

2.1. Anaconda

Anaconda là một bản phân phối ngôn ngữ lập trình Python hoàn chỉnh thích hợp cho mục đích phân tích dữ liệu và tính toán khoa học. Tất cả các gói phần mềm cần thiết đều đi kèm sẵn khi bạn cài đặt Anaconda trên máy tính của mình. Công cụ phổ biến nhất cho những người mới bắt đầu phân tích dữ liệu với python sẽ là Jupyter Notebook. Bạn có thể tải về bản Anaconda phù hợp với hệ điều hành của mình Tại đây

Anaconda trên máy tính Windows 10 của mình (sau khi máy hết hỏng)

2.2. Jupyter Notebook

Jupyter Notebook là sự kết hợp hoàn hảo giữa việc thực thi các dòng lệnh và xuất kết quả đầu ra trong cùng một giao diện thân thiện với người dùng ngay trên trình duyệt web. Việc này quả là tuyệt vời với những người mới vì bạn có thể chạy các dòng lệnh và kiểm tra kết quả, gỡ lỗi một các thuận tiện nhất. Các kết quả từ phân tích của bạn cũng được trình bày khá ưa nhìn với Jupyter Notebook.

Giao diện khởi động của Jupyter Notebook trên bản phân phối Anaconda

2.3. Google Colaboratory (Google Colab)

Google Colab là một sản phẩm của Google Research cho phép người dùng thực thi Python code thông qua trình duyệt web mà không cần trải qua các bước cài đặt phức tạp, đặc biệt là nó hoàn toàn miễn phí với tất cả người dùng. Google Colab phù hợp cho mục đích phân tích dữ liệu, máy học (machine learning) và giáo dục. Cụ thể thì Colab chính là Jupyter Notebook được tuỳ biến và host trên máy chủ của Google. Bạn chỉ cần sở hữu một tài khoản Google là đã có thể bắt đầu thực hành Python thông qua Colab. Bạn có thể sử dụng kết hợp Colab với các ứng dụng đám mây của Google như Google Drive, Google Sheets cực kỳ tiện lợi và được đồng bộ qua Internet mà không cần 1 máy tính cục bộ. Với mình thì khi đi du lịch nhưng vẫn không thể rời bỏ hoàn toàn công việc, mình chỉ cần mở chiếc tablet Samsung Tab S6 lên là đã có thể sử dụng Colab. Tuy thấy có những phàn nàn về việc giao diện của Colab đã bị thay đổi nhiều so với trải nghiệm Jupyter Notebook thuần nhưng cá nhân mình thấy cách tuỳ biến của Colab khoa học và thuận thiện hơn hẳn so với Jupyter Notebook. Một số tính năng khá hay của Google Colab có thể kể đến là:

Tham khảo thêm FAQ về Google Colab Tại đây

Bắt đầu lập trình Python for Data Science với Google Colab

2.4. Terminal/ Command Prompt

Terminal (MacOS & Linux) và Command Prompt (hay CMD trên Windows + Anaconda) là chương trình giao diện cửa sổ dòng lệnh (command line interface) dùng để giao tiếp với máy tính thông qua việc thực thi các câu lệnh trong các trường hợp không sử dụng giao diện đồ họa với chuột và bàn phím. Khi sử dụng thường xuyên cho mục đích Phân tích dữ liệu với Python thì chắc hẳn đây cũng sẽ là những ứng dụng bạn sẽ làm việc với chúng khá nhiều. Thay vì cài đặt đặt phần mềm, thực hiện các thao tác bằng giao diện đồ hoạ thì bạn cũng có thể làm được với Terminal. Trong rất nhiều trường hợp Terminal có thể giải quyết công việc của bạn một cách đơn giản, nhanh chóng chỉ với vài dòng lệnh thay vì bạn phải thao tác thủ công thông qua giao diện đồ họa rất vất vả.

2.5. Pip

Pip là hệ thống quản lý gói phần mềm viết bằng Python được sử dụng để cài đặt và quản lý các gói phần mềm. Để cài đặt thêm các gói phần mềm mở rộng ví dụ như facebook business, googleads hay kể cả pandas, numpy và các gói phần mềm quen thuộc khác trên Python bạn sẽ cần đến Pip. Và các câu lệnh với Pip sẽ được thực thi thông qua Terminal/Command Prompt như đã đề cập ở trên.

Giao diện làm việc của Command Prompt (cmd) trên Windows

3. Khai thác tối đa khả năng của Python
3.1. Raspberry Pi

Python không chỉ mạnh mẽ khi dùng cho mục đích phân tích dữ liệu, ta còn có thể xây dựng các flow tự động hóa hoàn toàn các công việc nhàm chán để chuẩn bị dữ liệu, làm mới hoặc gửi báo cáo được hẹn giờ. Bạn có thể hẹn giờ để chạy code chỉ đơn giản với ứng dụng Crontab trên Raspberry Pi hay phức tạp hơn với Airflow thông qua giao diện dòng lệnh Terminal.Thực tế là bạn có thể trả tiền cho các dịch vụ của Google Cloud, Amazon Web Service hay bất kỳ dịch vụ nào khác cho bạn host các đoạn code python và lên lịch thực thi chúng tuy nhiên việc này phù hợp hơn với đối tượng người dùng doanh nghiệp và cần có kinh phí để sử dụng dịch vụ. Đối với mình Rasberry Pi là giải pháp thiết thực và tiết kiệm nhất cho người dùng cá nhân để thỏa sức sáng tạo với Python và tối ưu hóa hiệu suất công việc ở công ty.  Rasberry Pi (Raspi) là một chiếc máy tính nhúng chỉ gồm 1 bo mạch duy nhất có kích thước 1 chiếc thẻ ATM. Raspi được phát triển ở Anh bởi Raspberry Pi Foundation với mục đích ban đầu để thúc đẩy việc giảng dạy khoa học máy tính và ngôn ngữ lập trình cho trẻ em ở trường học và nhất là các nước đang phát triển. Raspi có kích thước nhỏ gọn, tối giản và với chi phí thấp nhất có thể với giá giới thiệu khoảng $35 (khi nhập khẩu về Việt Nam thì giá bị đẩy lên khá nhiều). Raspi sử dụng nguồn điện ~15W (cấp nguồn 5.1V, 3A) như một server có thể chạy ngày đêm mà không cần quá lo về tuổi thọ như laptop thông thường. Sau khi thiết lập xong, bạn có thể cắm nguồn cho Rasberry Pi và đặt nó ở một góc phòng tại nhà, kết nối internet qua Wifi và không cần đến màn hình, chuột hay bàn phím. Bạn có thể điều khiển nó thông qua ứng dụng điều khiển từ xa VNC với chiếc laptop, tablet hay thậm chí là điện thoại của mình ở bất cứ đâu miễn là có kết nối Internet. Raspi được cài đặt sẵn Python 3.7 khi xuất xưởng, bạn có thể lập trình bằng bộ ứng dụng cài đặt sẵn như Thonny và Geany khá nhẹ và hữu ích hoặc cài thêm Visual Studio Code đều hoạt động cực kỳ mượt mà. Nếu trước đây mình tìm kiếm một giải pháp để có thể lập trình trên tablet android khá hiếm hoi thì bây giờ chỉ đơn giản là mở VNC Viewer và bắt đầu lập trình trên Raspi như một chiếc máy tính thông thường. Quả là nhiều điều hay ho mở ra những ứng dụng hữu ích nhỉ.

Giao diện của Rasberry Pi. Trong hình là ứng dụng Thonny thực thy một đoạn code Python dùng cho mục đích Web Scraping

Gợi ý chi phí đầu tư 1 chiếc Raspi trong khoảng 2.5 triệu bao gồm:Combo Raspberry Pi 4B bản 4GB + củ sạc chính hãng + case kèm quạt tản nhiệt: 2.248.000 đ tại HshopBàn phím dây Dell phổ thông KB216t: 161.000đThẻ nhớ Samsung Evo 64GB U3: ~200.000 đ. Mình tận dụng lại thẻ nhớ có sẵn nên tiết kiệm được khoản này.Chuột Bluetooth và màn hình rời mình đã có sẵn nên không tính thêm vào chi phí.

Combo Raspberry Pi 4B bản 4GB RAM tại nhà của mình

3.2. Apache Airflow và các ứng dụng khác

Sẽ giới thiệu tới các bạn khi mình có trải nghiệm thực tế trong các post tiếp theo. Hy vọng một bài viết khái quát có thể cung cấp cho bạn chút thông tin hữu ích để khởi đầu với bộ ứng dụng Python for Data Science. Chưa bao giờ là quá muộn để bắt đầu học thêm điều gì đó mới mẻ giúp nâng cấp chính bạn. Cùng khởi đầu với một năm mới với niềm đam mê học hỏi nhé. Trong lúc chờ đợi, các bạn có thể tham khảo thêm một số bài viết của mình nhé:

Apache Airflow trên Raspberry Pi Terminal

Rate this post
Exit mobile version