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']التحدي
سهليحتوي ملف 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
4Data Analysis with Pandas
Descriptive StatisticsGrouping and Aggregating DataDifferent AggregationsMerge & Concat2Working with the DataFrame
Understanding DataFramesAccessing DataData Cleaning - Missing dataData Cleaning - More tools3Data Manipulation with Pandas
Return Requested ResultFilter DataAdd & DeleteModify DataModify StringsCustom Modifications