لفهم كيف يمكنك استخدام وظيفة agg
بدون استخدام groupby
، دعنا نبدأ بتحليل الكود الذي كتبته. في الكود، قمت بتعريف وظيفة تسمى describe
التي تقوم بتطبيق عدد من الدوال الاحصائية على كل عمود في الإطار البياناتي. ثم، قمت بتطبيق هذه الوظيفة باستخدام groupby
حيث قمت بتجميع البيانات كلها في مجموعة واحدة (باستخدام قائمة one_group
) ومن ثم تطبيق الدوال الاحصائية على هذه المجموعة الواحدة.
الطريقة التي كتبتها هي طريقة ممتازة لتحقيق هذا الهدف، حيث تستخدم groupby
مع قائمة تحتوي على True
لكل صف، مما يعني أن جميع الصفوف ستكون في مجموعة واحدة. ثم تقوم بتطبيق agg
على هذه المجموعة الواحدة.
بدلاً من ذلك، يمكنك استخدام الدوال الاحصائية المدمجة في pandas
بشكل مباشر على الإطار البياناتي دون الحاجة إلى استخدام groupby
. على سبيل المثال، يمكنك استخدام الكود التالي للحصول على الإحصائيات المطلوبة:
pythondef describe_without_groupby(df):
funcs = dict(Kurt=lambda x: x.kurt(),
Skew='skew',
Mean='mean',
Std='std')
return df.agg(funcs)
describe_without_groupby(df)
هذا الكود يستخدم agg
مباشرة على الإطار البياناتي df
دون الحاجة إلى groupby
، مما يعني أنه سيُطبق الدوال الاحصائية المحددة على كل عمود من عمودي الإطار البياناتي.
المزيد من المعلومات
بالطبع! في الكود السابق، يتم استخدام وظيفة agg
مع الإطار البياناتي df
مباشرة، وذلك لتطبيق الدوال الاحصائية على كل عمود من أعمدة الإطار البياناتي. يمكن تحديد الدوال الاحصائية التي تريد تطبيقها في القاموس funcs
، حيث يُعرّف اسم الدالة كمفتاح ويُحدد الدالة الفعلية كقيمة.
على سبيل المثال، يُستخدم lambda x: x.kurt()
لحساب الانحراف القياسي، و'skew'
لحساب التشوه، و'mean'
لحساب المتوسط، و'std'
لحساب الانحراف المعياري.
باستخدام الكود المذكور، يتم تطبيق هذه الدوال الاحصائية على كل عمود من الإطار البياناتي df
، مما يعني أن الإحصائيات ستكون مُحسوبة لكل عمود على حدة دون تجميعها في مجموعات.