Tổng hợp dữ liệu trong DataFrame

Tram Ho

Mở đầu

Khi làm việc với dữ liệu trong DataFrame, một trong những nhiệm vụ quan trọng là tổng hợp và tóm tắt dữ liệu . Trong Python, thư viện pandas cung cấp các phương thức như mean(), median(), min(), max(), std() để tính toán các con số tổng kết dễ dàng từ DataFrame. Từ đó, giúp bạn phân tích và tận dụng dữ liệu một cách hiệu quả, đưa ra những quyết định thông minh và linh hoạt. Trong bài viết này, chúng ta sẽ tìm hiểu về cách tổng hợp dữ liệu trong DataFrame bằng cách sử dụng thư viện pandas.

Pivot Tables

Trong pandas, pivot tables là một công cụ mạnh mẽ để tổng hợp dữ liệu. Chúng cho phép chúng ta xem tổng quan về dữ liệu và tính toán các giá trị thống kê cho các nhóm khác nhau trong DataFrame. Phương thức pivot_table() trong pandas là một cách tiện lợi để thực hiện tính toán nhóm.

Trong phương thứcpivot_table() có một số tham số quan trọng cần lưu ý:

  1. values: Tham số này xác định cột trong DataFrame mà bạn muốn tính toán hoặc tổng hợp.
  2. index: Tham số này xác định cột hoặc cột được sử dụng làm chỉ mục (index) cho bảng pivot. Dữ liệu sẽ được nhóm theo giá trị trong cột này.
  3. columns: Tham số này xác định cột được sử dụng để tạo các cột mới trong bảng pivot. Dữ liệu sẽ được phân loại thành các cột dựa trên giá trị trong cột này.
  4. aggfunc: Tham số này xác định hàm tính toán được áp dụng cho các giá trị trong bảng pivot. Có thể sử dụng các hàm tính toán như sum, mean, count, min, max, v.v.
  5. fill_value: Tham số này xác định giá trị sẽ được sử dụng để thay thế các giá trị thiếu trong bảng pivot. Giá trị thiếu được xác định dựa trên các quan sát không có dữ liệu tương ứng.
  6. margins: Tham số này là một cú pháp rút gọn để tính tổng hàng và cột của nội dung bảng pivot. Khi được đặt thành True, nó sẽ thêm hàng “All” (tổng cộng) và cột “All” vào bảng pivot.

Ví dụ:
Chúng ta có một DataFrame chứa thông tin về bán hàng của một công ty với các cột như ‘Product’, ‘Sales_Date’, ‘Revenue’, và ‘Region’. Để tính tổng doanh thu theo từng khu vực, chúng ta có thể sử dụng pivot_table() như sau:

Kết quả:

GroupBy

Ngoài pivot tables, pandas cung cấp phương thức groupby() để tổng hợp dữ liệu. Phương thức này cho phép chúng ta nhóm dữ liệu theo một hoặc nhiều cột và thực hiện các phép tính thống kê trên các nhóm này.

Cùng với groupby(), phương thức .agg() cho phép bạn áp dụng các hàm tuỳ chỉnh riêng cho một DataFrame, cũng như áp dụng các hàm cho nhiều cột của DataFrame cùng một lúc, giúp việc tổng hợp dữ liệu trở nên hiệu quả.

Ví dụ:
Chúng ta sẽ sử dụng cùng DataFrame từ ví dụ trước để tính tổng doanh thu theo khu vực bằng phương thứcgroupby() và tính tổng tích lũy (cumulative sum) và giá trị lớn nhất tích lũy (cumulative max) của doanh thu hàng tuần:

Kết quả:

Đếm và Xóa các phần tử trùng lặp (duplicate)

Đếm và loại bỏ các phần tử trùng lặp là một kỹ năng quan trọng để đảm bảo có số lượng chính xác, vì thường chúng ta không muốn đếm cùng một điều nhiều lần. Trong ví dụ này, chúng ta sẽ tạo ra các DataFrame mới bằng cách sử dụng các giá trị duy nhất từ bảng bán hàng.

Để thực hiện điều này, chúng ta có thể sử dụng phương thức unique() để lấy danh sách các giá trị duy nhất từ một cột trong DataFrame. Sau đó, chúng ta có thể sử dụng danh sách này để tạo DataFrame mới chỉ chứa các giá trị duy nhất.

Dưới đây là ví dụ về việc tạo các DataFrame mới bằng cách sử dụng các giá trị duy nhất từ cột ‘Product’ trong bảng bán hàng:

Kết quả:

Lời kết

Trong bài viết này, chúng ta đã tìm hiểu về cách tổng hợp dữ liệu trong DataFrame bằng cách sử dụng pivot tables, groupby() và các phương pháp khác trong thư viện pandas. Nhờ vào những công cụ này, chúng ta có thể dễ dàng thực hiện các phép tính nhóm, tính toán tùy chỉnh và xử lý dữ liệu trùng lặp để có cái nhìn tổng quan và chính xác về dữ liệu của mình, từ đó đưa ra những quyết định thông minh và đúng đắn.

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo