Cách thực hiện tổng hợp dữ liệu theo dữ liệu chuỗi thời gian với Pandas
Hãy tìm hiểu cách thực hiện tổng hợp chuỗi thời gian với Pandas.
Hãy cùng tìm hiểu cách thực hiện tổng hợp dữ liệu chuỗi thời gian trong Pandas.
Sự chuẩn bị
Chúng tôi cần cài đặt các gói Pandas và Numpy để có thể cài đặt chúng bằng mã sau:
pip install pandas numpy
Sau khi cài đặt xong các gói, hãy bắt đầu vào bài viết.
Tổng hợp dữ liệu chuỗi thời gian
Chuỗi thời gian là dữ liệu duy nhất vì chúng được thu thập tuần tự và được lưu trữ tại một số thời điểm nhất định. Loại tập dữ liệu này thường được sử dụng để thể hiện tiến trình, như giá cổ phiếu, dữ liệu bán hàng hàng tháng, v.v. Điều quan trọng là dữ liệu được sắp xếp theo thứ tự thời gian.
Tổng hợp là một phương pháp tóm tắt hoặc kết hợp một số bộ dữ liệu để tạo ra một bộ giá trị duy nhất. Nó thường được sử dụng để hiểu các tập dữ liệu lớn hơn bằng cách cung cấp thông tin ngắn gọn.
Vì chuỗi thời gian là một tập dữ liệu nên chúng ta có thể thực hiện tổng hợp chuỗi thời gian. Hãy thử nó với một ví dụ về tập dữ liệu.
import pandas as pd
import numpy as np
np.random.seed(42)
date_rng = pd.date_range(start='2021-01-01', end='2023-12-31', freq='D')
df = pd.DataFrame({
'Date': date_rng,
'Sales': np.random.randint(100, 300, size=len(date_rng)),
'Profit': np.random.randint(1000, 5000, size=len(date_rng)),
'Rating': np.random.uniform(1, 10, size=len(date_rng))
})
Với tập dữ liệu mẫu này, hãy thử thực hiện tổng hợp chuỗi thời gian. Cách tổng hợp trong Pandas là sử dụng phương pháp lấy mẫu lại hoặc nhóm.
Hãy bắt đầu với mẫu lại. Phương pháp này sử dụng chuỗi thời gian để tổng hợp dữ liệu trong một khoảng thời gian nhất định. Chúng ta cần đặt ngày làm chỉ mục để sử dụng mẫu lại.
df.set_index('Date', inplace=True)
Sau đó, chúng ta có thể thực hiện tổng hợp chuỗi thời gian bằng mẫu lại. Ví dụ: tôi sử dụng khoảng thời gian tổng hợp hàng năm.
df.resample('Y').mean()
Đầu ra :
Sales Profit Rating
Date
2021-12-31 203.410959 3105.854795 5.507386
2022-12-31 203.153425 2962.819178 5.366746
2023-12-31 194.657534 2989.123288 5.503049
Bạn có thể thay đổi tần số lấy mẫu lại, chẳng hạn như:
D (hàng ngày)
- W (hàng tuần)
- M (hàng tháng)
- Q (hàng quý)
- A (hàng năm)
Ngoài ra, chúng ta có thể sử dụng nhóm để tổng hợp chuỗi thời gian.
df.groupby(df.index.year).mean()
Đầu ra:
Sales Profit Rating
Date
2021 203.410959 3105.854795 5.507386
2022 203.153425 2962.819178 5.366746
2023 194.657534 2989.123288 5.503049
Chúng ta có thể ánh xạ các phương pháp tổng hợp khác nhau tới các cột khác nhau.
df.resample('Y').agg({
'Sales': 'sum',
'Profit': 'mean',
'Rating': 'max'
})
Đầu ra:
Sales Profit Rating
Date
2021-12-31 74245 3105.854795 9.959324
2022-12-31 74151 2962.819178 9.931739
2023-12-31 71050 2989.123288 9.973703
Đó là tất cả cho việc tổng hợp chuỗi thời gian. Nắm vững cách tổng hợp chuỗi thời gian sẽ trang bị cho bạn những kỹ năng phân tích dữ liệu quan trọng.
Cornellius Yudha Wijaya là trợ lý giám đốc khoa học dữ liệu và người viết dữ liệu. Khi làm việc toàn thời gian tại Allianz Indonesia, anh ấy thích chia sẻ các mẹo về Python và dữ liệu qua mạng xã hội và phương tiện viết lách. Cornellius viết về nhiều chủ đề về AI và học máy.