Tôi đang cố gắng sao chép đầu ra SQL cho phân vùng tối đa bằng pandas. Mục đích là để thay thế did_renew==No bằng Yes trong một số trường hợp nhất định và cho một tập hợp con của các khung dữ liệu. Đây là khung dữ liệu của tôi:
date_id sf_id renewal_date is_up_for_renewal did_renew datediff
168 2020-09-01 0010O00001n1s1rQAA 2020-09-30 Yes Undetermined NaN
169 2020-08-01 0010O00001n1s1rQAA 2020-09-30 No Undetermined 1.0
170 2020-07-01 0010O00001n1s1rQAA 2020-09-30 No Undetermined 1.0
171 2020-06-01 0010O00001n1s1rQAA 2020-09-30 No Undetermined 1.0
172 2020-05-01 0010O00001n1s1rQAA 2020-09-30 No Undetermined 1.0
173 2020-04-01 0010O00001n1s1rQAA 2020-09-30 No Undetermined 1.0
174 2020-03-01 0010O00001n1s1rQAA 2020-09-30 No Undetermined 1.0
175 2020-02-01 0010O00001n1s1rQAA 2020-09-30 No Undetermined 1.0
176 2020-01-01 0010O00001n1s1rQAA 2020-09-30 No Undetermined 1.0
177 2019-12-01 0010O00001n1s1rQAA 2020-09-30 No Undetermined 1.0
178 2019-11-01 0010O00001n1s1rQAA 2020-09-30 No Undetermined 1.0
179 2019-10-01 0010O00001n1s1rQAA 2020-09-30 No Undetermined 1.0
180 2019-08-01 0010O00001n1s1rQAA 2019-08-31 Yes No 2.0
181 2019-07-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0
182 2019-06-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0
183 2019-05-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0
184 2019-04-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0
185 2019-03-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0
186 2019-02-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0
187 2019-01-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0
188 2018-12-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0
189 2018-11-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0
190 2018-10-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0
191 2018-09-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0
192 2018-08-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0
Trong SQL, tôi muốn nói: if dafediff=2, then max('Yes') over (phân vùng theo sf_id, refresh_date) end Điều đó sẽ dẫn đến việc tạo một cột mới chỉ có các giá trị cho các hàng 180-192 (lưu ý rằng ngày gia hạn khác nhau đối với các hàng 168-179 và 180-192). Đây là cách các kết quả trong mục tiêu cột sẽ trông như thế nào:
date_id sf_id renewal_date is_up_for_renewal did_renew datediff target
168 2020-09-01 0010O00001n1s1rQAA 2020-09-30 Yes Undetermined NaN Undetermined
169 2020-08-01 0010O00001n1s1rQAA 2020-09-30 No Undetermined 1.0 Undetermined
170 2020-07-01 0010O00001n1s1rQAA 2020-09-30 No Undetermined 1.0 Undetermined
171 2020-06-01 0010O00001n1s1rQAA 2020-09-30 No Undetermined 1.0 Undetermined
172 2020-05-01 0010O00001n1s1rQAA 2020-09-30 No Undetermined 1.0 Undetermined
173 2020-04-01 0010O00001n1s1rQAA 2020-09-30 No Undetermined 1.0 Undetermined
174 2020-03-01 0010O00001n1s1rQAA 2020-09-30 No Undetermined 1.0 Undetermined
175 2020-02-01 0010O00001n1s1rQAA 2020-09-30 No Undetermined 1.0 Undetermined
176 2020-01-01 0010O00001n1s1rQAA 2020-09-30 No Undetermined 1.0 Undetermined
177 2019-12-01 0010O00001n1s1rQAA 2020-09-30 No Undetermined 1.0 Undetermined
178 2019-11-01 0010O00001n1s1rQAA 2020-09-30 No Undetermined 1.0 Undetermined
179 2019-10-01 0010O00001n1s1rQAA 2020-09-30 No Undetermined 1.0 Undetermined
180 2019-08-01 0010O00001n1s1rQAA 2019-08-31 Yes No 2.0 Yes
181 2019-07-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0 Yes
182 2019-06-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0 Yes
183 2019-05-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0 Yes
184 2019-04-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0 Yes
185 2019-03-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0 Yes
186 2019-02-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0 Yes
187 2019-01-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0 Yes
188 2018-12-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0 Yes
189 2018-11-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0 Yes
190 2018-10-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0 Yes
191 2018-09-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0 Yes
192 2018-08-01 0010O00001n1s1rQAA 2019-08-31 No No 1.0 Yes
Vì khung dữ liệu đầy đủ sẽ chứa nhiều nhóm sf_id, nên tôi biết mình cần sử dụng phương pháp nhóm từ scaler cho [sf_id,renewal_date]. nhưng tôi không chắc chắn làm thế nào để làm điều đó Cảm ơn bạn trước!
Unpublished comment
Viết câu trả lời