Menu
CoddyTech

Nhóm và tổng hợp dữ liệu

Bài học 15 trên 19 trong khóa học Phân tích dữ liệu với pandas của Coddy.

Việc nhóm và tổng hợp dữ liệu rất quan trọng khi làm việc với các tập dữ liệu lớn, vì cách này giúp đơn giản hóa và tóm tắt dữ liệu để bạn dễ hiểu và phân tích hơn.

Trong bài học trước, chúng ta đã tính các số liệu thống kê cho một nhóm cụ thể, nhưng việc tính số liệu thống kê cho tất cả các nhóm có thể khó nếu không có thêm công cụ. Để làm việc này, chúng ta có phương thức .groupby():

df.groupby('column_name')

Lệnh này trả về một đối tượng GroupBy, nhóm các hàng trong dataframe theo giá trị của column_name. Bạn có thể áp dụng các hàm tổng hợp lên đối tượng GroupBy này để thực hiện phép tính trong từng nhóm.

Sau khi nhóm dữ liệu, chúng ta có thể dùng một số hàm tổng hợp để tóm tắt dữ liệu, chẳng hạn như:

df.groupby('column_name').sum()
df.groupby('column_name').min()
df.groupby('column_name').max()

Lệnh này trả về giá trị sum, min và max của tất cả các cột số khác trong dataframe ban đầu, được chia theo column_name.

Giờ bạn có thể trích xuất một cột cụ thể mà bạn đang phân tích:

df.groupby('column_name').sum()['other_column']
challenge icon

Thử thách

Dễ

Tệp CSV visits.csv chứa thông tin về số lượt ghé thăm một địa điểm cụ thể vào một thời điểm cụ thể.

Đây là 5 dòng đầu tiên của tệp:

location_id,visits,timestamp
8,1771,27498
9,4187,79919
0,4959,54228
6,7721,41588

Tạo một từ điển với các khóa sau: min, max, mean, std, sum và median, đồng thời cung cấp một series tương ứng với các thống kê của cột visits cho từng mã địa điểm.

Tự làm thử

# Đã nhập pandas dưới tên pd
df = pd.read_csv("./visits.csv")
# Viết code của bạn bên dưới
sum_visits = df.groupby("location_id").sum()["visits"]

res = {
    "min": # điền vào
    "max": # điền vào
    "mean": # điền vào
    "std": # điền vào
    "median": # điền vào
    "sum": sum_visits
}
print(res)

Tất cả bài học trong Phân tích dữ liệu với pandas

Tự luyện tập: Trình biên dịch Python online