Tôi có một khung dữ liệu gấu trúc với các ngày cách nhau không đều. Có cách nào để sử dụng 7 ngày như một cửa sổ di chuyển để tính toán median absolute deviation, trung bình, v.v.? Tôi cảm thấy như tôi bằng cách nào đó có thể sử dụng pandas.rolling_apply
nhưng nó không mất ngày khoảng cách bất thường cho tham số cửa sổ. Tôi tìm thấy một bài viết tương tự https://stackoverflow.com/a/30244019/3128336 và đang cố gắng để tạo ra chức năng tùy chỉnh của tôi nhưng vẫn không thể tìm ra .. Bất cứ ai có thể giúp đỡ?Cách sử dụng ngày làm cửa sổ cho gấu trúc rolling_apply chức năng
import pandas as pd
from datetime import datetime
person = ['A','B','C','B','A','C','A','B','C','A',]
ts = [
datetime(2000, 1, 1),
datetime(2000, 1, 1),
datetime(2000, 1, 10),
datetime(2000, 1, 20),
datetime(2000, 1, 25),
datetime(2000, 1, 30),
datetime(2000, 2, 8),
datetime(2000, 2, 12),
datetime(2000, 2, 17),
datetime(2000, 2, 20),
]
score = [9,2,1,3,8,4,2,3,1,9]
df = pd.DataFrame({'ts': ts, 'person': person, 'score': score})
df trông như thế này
person score ts
0 A 9 2000-01-01
1 B 2 2000-01-01
2 C 1 2000-01-10
3 B 3 2000-01-20
4 A 8 2000-01-25
5 C 4 2000-01-30
6 A 2 2000-02-08
7 B 3 2000-02-12
8 C 1 2000-02-17
9 A 9 2000-02-20
Bạn có muốn một cửa sổ di chuyển hoặc một cửa sổ mở rộng? – Goyo
Tôi muốn di chuyển cửa sổ. Vì vậy, một cái gì đó như thế này 'pd.rolling_apply (df, window = relativedelta (ngày = 7), func, min_periods = 1)' Tôi đã nhầm lẫn giữa hai. Hãy để tôi sửa bài viết của tôi. Cảm ơn bạn đã chỉ ra –
Bạn có thể giải thích những gì không phù hợp với giải pháp cho câu hỏi bạn đã liên kết không? Tôi cho rằng việc lấy lại dữ liệu của bạn cho dữ liệu hàng ngày trước khi áp dụng tính năng lăn sẽ loại bỏ các ngày trùng lặp? – joris