Nói chung, giả sử rằng bạn có DataFrame trong biểu mẫu bạn đã chỉ định, bạn cần thực hiện các bước sau:
Những gì bạn có là một trường hợp áp dụng các chức năng khác nhau cho các cột khác nhau. Nhìn thấy. Bạn có thể lấy mẫu lại theo nhiều cách khác nhau. Ví dụ: Bạn có thể lấy giá trị trung bình của các giá trị hoặc số lượng. Kiểm tra gấu trúc lại mẫu. Bạn cũng có thể áp dụng các trình tổng hợp tùy chỉnh (kiểm tra cùng một liên kết). Với ý nghĩ đó, đoạn mã cho trường hợp của bạn có thể được đưa ra như:
Ở đây, Quay trở lại phương thức lấy mẫu lại. Tại đây cho Câu trả lời này dựa trên giả định rằng dữ liệu dường như hàng ngày, tức là mỗi ngày bạn chỉ có 1 mục nhập. Ngoài ra, không có dữ liệu nào có mặt cho những ngày không kinh doanh. tức là Sat và Sun. Vì vậy, lấy điểm dữ liệu cuối cùng trong tuần vì một cho thứ sáu là OK. Nếu bạn muốn bạn có thể sử dụng Tuần lễ kinh doanh thay vì 'W'. Ngoài ra, đối với dữ liệu phức tạp hơn, bạn có thể muốn sử dụng BTW Một ý chính cho giải pháp có thể được tìm thấy tại: https://gist.github.com/prithwi/339f87bf9c3c37bb3188 Ảnh của Hubble trên unplash Hãy để nhảy thẳng đến điểm. Người quản lý của tôi đã cho tôi một loạt các tập tin và yêu cầu tôi chuyển đổi tất cả dữ liệu hàng ngày thành hàng tuần để xác thực dữ liệu và mục đích mô hình hóa. Như thường lệ, tôi đã nói là có !! chắc chắn" Người tiếp xúc đầu tiên.Tôi đã tải xuống tất cả các tệp từ Google Drive tương ứng và tôi đã thấy một loạt các tệp khổng lồ mà tôi không thể mở qua Microsoft Excel. Nhưng không phải lo lắng, tôi có thể sử dụng Python Pandas. Chơi lô tô! Tôi đã có thể kiểm tra tất cả các tệp từng cái một và dành gần 3 đến 4 giờ để kiểm tra tất cả các tệp riêng lẻ (bao gồm các lần nghỉ ngắn và dài). Càng xa càng tốt. Nhiệm vụ.Trọng tâm chính của tôi là xác định cột ngày, đổi tên/giữ tên là Ngày Ngày và chuyển đổi tất cả các mục hàng ngày sang các mục hàng tuần bằng cách tổng hợp tất cả các giá trị số liệu trong tuần đó sang thứ Tư của tuần đó. Để tôi lấy một ví dụ. Tệp mẫu - Tiếp thị kỹ thuật sốTôi nghĩ rằng hình ảnh trên sẽ cung cấp cho bạn sự hiểu biết về tệp. Chúng tôi có một ngày (dữ liệu hàng ngày đã được nhập), kênh, ấn tượng, nhấp chuột và chi tiêu. Vì vậy, nhiệm vụ là chuyển đổi dữ liệu này thành hàng tuần. Nhưng xin lưu ý rằng, trong khi chuyển đổi thành hàng tuần, các giá trị như ấn tượng, nhấp chuột và chi tiêu nên được tổng hợp. Ừ!!! Trông dễ dàng. Thực thi.Để giữ cho nó ngắn, tôi đã thử các loại phương pháp khác nhau và thất bại nhiều lần. Cuối cùng, đồng nghiệp của tôi bảo tôi sử dụng phương pháp dưới đây và tôi yêu nó. Đó là lý do tại sao tôi quyết định chia sẻ nó một cách kịch tính. Đây là giải pháp: #import required librariesimport pandas as pdfrom datetime import datetime#read the daily data filepaid_search = pd.read_csv("Digital_marketing.csv")#convert date column into datetime objectpaid_search['Day'] = paid_search['Day'].astype('datetime64[ns]')#convert daily data to weeklyweekly_data = paid_search.groupby("Channel").resample('W-Wed', label='right', closed = 'right', on='Day').sum().reset_index().sort_values(by='Day') Trong dòng cuối cùng trong mã, bạn có thể thấy rằng tôi đã đại diện cho ngày hàng tuần là Thứ Tư (‘W-Wed,) và tổng hợp bằng cách thêm tất cả 7 ngày (bao gồm cả ngày thứ Tư) bằng nhãn = Right Right. Tách trà.Bạn sẽ có thêm ý tưởng về chức năng lấy mẫu bằng cách kiểm tra trang này-https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.dataframe.resample.html Bây giờ, hãy để Lừa đi thẳng đến điểm. Ở đây, chúng ta sẽ xem cách chúng ta có thể chuyển đổi dữ liệu hàng ngày thành dữ liệu hàng tuần/hàng tháng mà không mất tên cột và ngày là chỉ mục. Tôi đã sử dụng COVID_19_INDIA.CSV, từ Kaggle làm bộ dữ liệu mẫu của chúng tôi với hình dạng (9291,9). Bạn có thể tải xuống từ liên kết dưới đây. Hãy để bắt đầu và tải dữ liệu của chúng tôi Covid_19_india.csv Đầu vào 1: Output: Như bạn có thể thấy ở trên ngày của chúng tôi là các loại chuỗi, vì vậy chúng tôi cần chuyển đổi chúng thành loại DateTime. Đầu vào 2: Output: Bây giờ chúng ta có thể thấy rằng cột ngày nằm trong đối tượng ngày. Ngoài ra, chúng tôi bỏ một số cột để đơn giản hóa dữ liệu. Tuy nhiên, điều này là không cần thiết, trong khi chuyển đổi dữ liệu hàng ngày thành hàng tuần/hàng tháng/hàng năm, nó sẽ giảm các cột phân loại. Đầu vào 3: Output: Như bạn có thể thấy rằng dữ liệu hàng ngày của chúng tôi được chuyển đổi thành hàng tuần mà không mất tên của các cột khác và ngày làm chỉ mục. Bạn cũng có thể chuyển đổi thành tháng chỉ bằng cách sử dụng Mùi thay vì W W W. Cho ví dụ ::df.resample(, tôi). Mean (). ‘M, trong nhiều tháng. Ngoài ra, bạn có thể sử dụng chế độ (), sum (), v.v., thay vì trung bình () theo sở thích của bạn. Bạn có thể tham khảo thêm về chức năng mẫu lại bằng cách kiểm tra trang này bên dưới: |