Tìm hiểu Pandas (Bài 1): Giới thiệu chung
Chào mừng các bạn đến với loạt bài về pandas, trong bài đầu tiên này chúng ta sẽ có cái nhìn cái khái quát về công cụ này
I. Big data là gì ?
Big data đã trở thành cụm từ rất hot trong vài năm trở lại đây, nói một cách đơn giản big data là nói đến lượng dữ liệu vượt quá khả năng xử lý bình thường
Cách đơn giản nhất để nghĩ đến sự phức tạp của dữ liệu lớn là nghĩ đến 4 chữ V: Volume, Velocity, Variety, Veracity
Volume
Chúng ta có thể hình dung ra được khối lượng dữ liệu là cực lớn, theo IBM đến năm 2020 tổng dữ liệu trên thế giới là khoảng 40 zettabytes, tương đương với 43 nghìn tỉ gigabytes. Sự gia tăng nhanh chóng về số lượng dữ liệu là bởi sự phát triển nhanh chóng của mạng internet. Cùng với đó là qúa trình chuyển đổi từ tín hiệu tương tự sang truyền thông đa phương tiện kết hợp với phát triển khả năng thu thập dữ liệu và việc phổ biến của các thiết bị thu tập dữ liệu với giá thành rẻ. Ví dụ tiêu biểu là Amazon Web Service với dịch vụ lưu trữ với giá rẻ. Internet hoá mọi thiết bị như xu hướng IOT cũng góp phần vào quá trình gia tăng dữ liệu này
Velocity
Velocity(tốc độ) ở đây đề cập đến thông lượng của big data, tốc độ data đến và tốc độ xử lý chúng. Ở cấp độ vĩ mô hơn, tốc độ của dữ liệu cũng có thể được coi là khả năng tốc mà tại đó dữ liệu và thông tin có thể được chuyển và xử lý nhanh hơn với khoảng cách lớn hơn bao giờ hết
Variety
Variety(Sự đa dạng) của dữ liệu lớn đến từ nhiều nguồn dữ liệu khác nhau, với những định dạng khác nhau. Đây là kết quả của sự phát triển các thiết bị thu nhận dữ liệu như camera, cảm biến, điện thoại,… chúng tạo ra dữ liệu với những định dạng khác nhau, thử thách đặt ra ở đây là có thể xử lý tất cả chúng và lấy ra được thông tin hữu ích
Veracity
Tính chất thứ 4 của big data là veracity (tính chính xác) , nó đề cập đến tính đúng đắn của dữ liệu và thông tin mà dữ liệu mà nó biểu diễn là đáng tin cậy. Nguồn dữ liệu phải đã được xác thực và giữ tính sai sót là nhỏ nhất
II. Python và Pandas
Sự phù hợp của python và pandas với phân tích dữ liệu
Python là một trong những ngôn ngữ đang phát triển nhanh nhất trong giới khoa học và phân tích. Nó được tạo bởi Guido von Russom năm 1991 bao gồm những tính năng chính:
- Ngôn ngữ thông dịch
- Khả năng module hoá
- Thư viện toàn diện
- Có khả năng mở rộng với các ngôn ngữ khác
- Hướng đối tượng
- Hầu hết là mô hình lập trình thủ tục, hướng đối tượng
Một trong những tính chất của python giúp nó phổ biến trong lĩnh vực khoa học dữ liệu là cú pháp rất thân thiện với người dùng, nó có nhiều thư viện toàn điện trong việc phân tích và thống kê dữ liệu
Pandas là gì ?
Pandas là là thư viện mã nguồn mở với hiệu năng cao cho phân tích dữ liệu trong Python được phát triển bởi Wes McKinney trong năm 2008. Chỉ với hơn 1 năm phát triển nó đã trở thành một thư viện chuẩn cho việc phân tích dữ liệu khi dùng Python, một số tính năng nổi bật của pandas:
- Có thể xử lý tập dữ liệu khác nhau về định dạng: chuỗi thời gian, bảng không đồng nhất, ma trận dữ liệu
- Khả năng import dữ liệu từ nhiều nguồn khác nhau như CSV, DB/SQL
- Có thể xử lý vô số phép toán cho tập dữ liệu: subsetting, slicing, filtering, merging, groupBy, re-ordering, and re-shaping,..
- Xử lý dữ liệu mất mát theo ý người dùng mong muốn: bỏ qua hoặc chuyển sang 0
- Xử lý, phân tích dữ liệu tốt như mô hình hoá và thống kê
- Tích hợp tốt với các thư viện khác của python
- Cung cấp hiệu suất tốt và có thể tăng tốc thậm chí hơn cả sử dụng Cython ( extension C cho python)
Lợi ích của việc sử dụng pandas so với sử dụng các ngôn ngữ Java, C hoặc C++:
- Biểu diễn dữ liệu: Nó có thể dễ dàng biểu diễn tập dữ liệu một cách tự nhiên phù hợp với dữ liệu phân tích thông qua cấu trúc DataFrame và Series (Những khái niệm chúng ta sẽ tìm hiểu chi tiết ở các bài sau). Dùng với các ngôn ngữ khác mất nhiều công code hơn
- Tâp hợp và lọc dữ liệu: Nó cung cấp các phương thức để dễ dàng tập hợp và lọc dữ liệu, những thủ tục gắn liền với việc phân tích dữ liệu
- Code ngắn gọn và clear hơn: những API ngắn gọn và clear cho phép người dùng tập trung vào những mục tiêu chính hơn là việc phải viết một đoạn code dài từ đầu để thực hiện công việc
Cài đặt Pandas
Cách đơn giản nhất để cài đặt pandas là cài đặt Anaconda, không chỉ pandas mà python và các gói thư viện phổ biến của python như IPython, Matplotlib, NumPy,… cũng sẽ có sẵn
Công việc của bạn chỉ đơn giản là download và cài đặt Anaconda tại trang trang chủ của họ
(Tài liệu tham khảo: sách Mastering Pandas)