Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

Grouping and Aggregating Data

الدرس 15 من 19 في دورة Pandas Analytics على Coddy.

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

في الدرس السابق، قمنا بحساب إحصائيات حول مجموعة محددة، ولكن حساب الإحصائيات لجميع المجموعات قد يكون صعباً بدون أدوات إضافية. لهذا الغرض، لدينا الطريقة .groupby():

df.groupby('column_name')

سيؤدي هذا إلى إرجاع كائن GroupBy يقوم بتجميع صفوف إطار البيانات (dataframe) حسب قيم column_name. يمكنك تطبيق دوال التجميع (aggregate functions) على كائن GroupBy هذا لإجراء عمليات حسابية داخل تلك المجموعات.

بمجرد تجميع البيانات، يمكننا إجراء العديد من دوال التجميع لتلخيص البيانات، مثل:

df.groupby('column_name').sum()
df.groupby('column_name').min()
df.groupby('column_name').max()

سيؤدي هذا إلى إرجاع sum و min و max لجميع الأعمدة الرقمية الأخرى في إطار البيانات الأصلي، مقسمة حسب column_name.

يمكنك الآن استخراج عمود معين تقوم بتحليله:

df.groupby('column_name').sum()['other_column']
challenge icon

التحدي

سهل

يحتوي ملف CSV المسمى visits.csv على معلومات حول عدد الزيارات التي تمت في موقع معين في وقت معين.

إليك أول 5 أسطر من الملف:

location_id,visits,timestamp
8,1771,27498
9,4187,79919
0,4959,54228
6,7721,41588

قم بإنشاء قاموس (dictionary) يحتوي على المفاتيح التالية: min، و max، و mean، و std، و sum، و median، وقم بتوفير series تقابل الإحصائيات الخاصة بالعمود visits لـ كل معرف موقع (location id).

جرّب بنفسك

# pandas as pd مستورد بالفعل
df = pd.read_csv("./visits.csv")
# اكتب كودك أدناه
sum_visits = df.groupby("location_id").sum()["visits"]

res = {
    "min": # أكمل
    "max": # أكمل
    "mean": # أكمل
    "std": # أكمل
    "median": # أكمل
    "sum": sum_visits
}
print(res)

جميع دروس Pandas Analytics