لقد تم تكليفك بتنفيذ فئة `RollingWindow`، والتي تطبق تجميع النوافذ المتداول على DataFrame محدد.

في هذه المشكلة، DataFrame عبارة عن بنية بيانات ثنائية الأبعاد تحتوي على أعمدة مسماة وصفوف مفهرسة. يمثل كل عمود متغيرًا مختلفًا، ويمثل كل صف نقطة بيانات.

تحتوي فئة `RollingWindow` على معلمتين:
- `نافذة`: سلسلة تمثل طول النافذة المتحركة. يتم تنسيق السلسلة كرقم متبوعًا باختصار وحدة زمنية. على سبيل المثال، يمثل "4H" فترة متجددة مدتها 4 ساعات.
- `aggregation_method`: سلسلة تمثل الطريقة المستخدمة لتجميع البيانات داخل النافذة المتحركة. الخيارات الصالحة هي "الحد الأقصى" و"الحد الأدنى" و"المتوسط".

مهمتك هي تنفيذ فئة `RollingWindow` بالطرق التالية:
- `__init__(self, window, aggregation_method)`: تهيئة فئة `RollingWindow` باستخدام `نافذة` و`طريقة_التجميع' المعطاة.
- `transform(self, X)`: يطبق تجميع النوافذ المتدرجة على DataFrame المحدد `X`. يتم تنفيذ التجميع على كل عمود من DataFrame بشكل مستقل.

تحتاج إلى تنفيذ فئة `RollingWindow` والتأكد من أن طريقة `التحويل` تُرجع DataFrame جديد مع القيم المجمعة المحسوبة بناءً على النافذة المتحركة.
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}