English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
مثال على عمليات Pandas للنافذة
لمعالجة البيانات الرقمية، يقدم Pandas بعض المشتقات مثل التحرك، التوسع، والتحرك بناءً على الوزن المتدرج لتحقيق الإحصاءات النافذة. وتشمل هذه المجموعة إجمالي، متوسط، متوسط، التباين، الكوفيرانس، الترابط، إلخ.
الآن، سنتعلم كيفية تطبيقها على DataFrame المختلفة.
هذه الوظيفة يمكن تطبيقها على سلسلة من البيانات. تحديد المعلمة window = n، وتطبيق وظيفة إحصائية مناسبة على ذلك.
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(10, 4), index = pd.date_range('1/1/2000', periods=10), columns = ['A', 'B', 'C', 'D']) print(df.rolling(window=3).mean())
النتائج التشغيلية كالتالي:
A - B - C - D 2000-01-01 NaN NaN NaN NaN 2000-01-02 NaN NaN NaN NaN 2000-01-03 0.434553 -0.667940 -1.051718 -0.826452 2000-01-04 0.628267 -0.047040 -0.287467 -0.161110 2000-01-05 0.398233 0.003517 0.099126 -0.405565 2000-01-06 0.641798 0.656184 -0.322728 0.428015 2000-01-07 0.188403 0.010913 -0.708645 0.160932 2000-01-08 0.188043 -0.253039 -0.818125 -0.108485 2000-01-09 0.682819 -0.606846 -0.178411 -0.404127 2000-01-10 0.688583 0.127786 0.513832 -1.067156
بسبب حجم النافذة هو 3، لذا تكون القيم الأولى للاثنين فارغة، تبدأ من العنصر الثالث، القيمة هي متوسط العناصر n، n-1 و n-2. لذا يمكننا تطبيق الوظائف المختلفة المذكورة أعلاه أيضًا.
هذه الوظيفة يمكن تطبيقها على سلسلة من البيانات. تحديد المعلمة min_periods = n، وتطبيق وظيفة إحصائية مناسبة على ذلك.
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(10, 4), index = pd.date_range('1/1/2000', periods=10), columns = ['A', 'B', 'C', 'D']) print(df.expanding(min_periods=3).mean())
النتائج التشغيلية كالتالي:
A - B - C - D 2000-01-01 NaN NaN NaN NaN 2000-01-02 NaN NaN NaN NaN 2000-01-03 0.434553 -0.667940 -1.051718 -0.826452 2000-01-04 0.743328 -0.198015 -0.852462 -0.262547 2000-01-05 0.614776 -0.205649 -0.583641 -0.303254 2000-01-06 0.538175 -0.005878 -0.687223 -0.199219 2000-01-07 0.505503 -0.108475 -0.790826 -0.081056 2000-01-08 0.454751 -0.223420 -0.671572 -0.230215 2000-01-09 0.586390 -0.206201 -0.517619 -0.267521 2000-01-10 0.560427 -0.037597 -0.399429 -0.376886
ewm يُطبق على سلسلة من البيانات. يتم تحديد أي من معلمات com، span، halflife، وتطبيق الدالة الإحصائية المناسبة عليها. يتم توزيع الأوزان بشكل أسي.
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(10, 4), index = pd.date_range('1/1/2000', periods=10), columns = ['A', 'B', 'C', 'D']) print(df.ewm(com=0.5).mean())
النتائج التشغيلية كالتالي:
A - B - C - D 2000-01-01 1.088512 -0.650942 -2.547450 -0.566858 2000-01-02 0.865131 -0.453626 -1.137961 0.058747 2000-01-03 -0.132245 -0.807671 -0.308308 -1.491002 2000-01-04 1.084036 0.555444 -0.272119 0.480111 2000-01-05 0.425682 0.025511 0.239162 -0.153290 2000-01-06 0.245094 0.671373 -0.725025 0.163310 2000-01-07 0.288030 -0.259337 -1.183515 0.473191 2000-01-08 0.162317 -0.771884 -0.285564 -0.692001 2000-01-09 1.147156 -0.302900 0.380851 -0.607976 2000-01-10 0.600216 0.885614 0.569808 -1.110113
يستخدم الفنائن النافذة بشكل رئيسي لاستكشاف الاتجاهات في البيانات من خلال رسم منحنيات ملساء بطريقة رسومية. إذا كان هناك تغيير كبير في البيانات اليومية ولدي العديد من نقاط البيانات المتاحة، فإن استخدام العينة والرسم هو طريقة واحدة، وتطبيق حساب النافذة ورسم النتائج هو طريقة أخرى. من خلال هذه الطرق، يمكننا تعديل المنحنيات أو الاتجاهات.