15.3 Pandas
أهداف التعلم
في نهاية هذا القسم، ينبغي أن تكون قادرًا على:
- وصف مكتبة Pandas.
- إنشاء كائن إطار بيانات وكائن سلسلة.
- اختيار دوال Pandas المناسبة للحصول على رؤى من البيانات غير المتجانسة.
مكتبة Pandas
Pandas مكتبة بايثون مفتوحة المصدر تُستخدم لتنظيف البيانات ومعالجتها وتحليلها. توفر Pandas هياكل بيانات وأدوات تحليل بيانات لتحليل البيانات المهيكلة بكفاءة. اسم "Pandas" مشتق من مصطلح "بيانات اللوحة" (panel data)، والذي يشير إلى مجموعات البيانات المهيكلة متعددة الأبعاد. تشمل الميزات الرئيسية لـ Pandas ما يلي:
- هياكل البيانات: تطبق Pandas هيكلين رئيسيين للبيانات:
- سلسلة: السلسلة مصفوفة أحادية الأبعاد مُعنونة.
- إطار بيانات: إطار البيانات هيكل بيانات ثنائي الأبعاد مُعنون يتكون من أعمدة وصفوف. يمكن اعتبار إطار البيانات هيكل بيانات يشبه جدول البيانات، حيث يمثل كل عمود سلسلة. إطار البيانات هيكل بيانات غير متجانس، حيث يمكن أن يكون لكل عمود نوع بيانات مختلف.
- وظائف معالجة البيانات: توفر Pandas وظائف متنوعة لمعالجة البيانات، مثل اختيار البيانات وتصفيتها وتقطيعها وترتيبها ودمجها وربطها وإعادة تشكيلها.
- التكامل مع المكتبات الأخرى: تتكامل Pandas بشكل جيد مع مكتبات بايثون الأخرى، مثل NumPy. تسمح قدرة التكامل بتبادل البيانات بين أدوات تحليل البيانات وتصويرها المختلفة.
الاسم المستعار التقليدي لاستيراد Pandas هو pd. بمعنى آخر، تُستورد Pandas كـ import pandas as pd. تُعرض أمثلة لكائنات إطار البيانات والسلسلة أدناه.
| مثال على إطار البيانات | مثال على السلسلة | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
إدخال البيانات وإخراجها
يمكن إنشاء إطار بيانات من قاموس أو قائمة أو مصفوفة NumPy أو ملف قيم مفصولة بفواصل (CSV). يمكن تحديد أسماء الأعمدة وأنواع بيانات الأعمدة عند إنشاء إطار البيانات.
| الوصف | مثال | المخرجات | الشرح | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| إطار بيانات من قاموس |
import pandas as pd
# إنشاء قاموس بالأعمدة
data = {
"Name": ["Emma", "Gireeja", "Sophia"],
"Age": [15, 28, 22],
"City": ["Dubai", "London", "San Jose"]
}
# إنشاء إطار بيانات من القاموس
df = pd.DataFrame(data)
# عرض إطار البيانات
df |
|
تأخذ الدالّة |
||||||||||||||||
| إطار بيانات من قائمة |
import pandas as pd
# إنشاء قائمة بالصفوف
data = [
["Emma", 15, "Dubai"],
["Gireeja", 28, "London"],
["Sophia", 22, "San Jose"]
]
# تعريف تسميات الأعمدة
columns = ["Name", "Age", "City"]
# إنشاء إطار بيانات من قائمة باستخدام تسميات الأعمدة
df = pd.DataFrame(data, columns=columns)
# عرض إطار البيانات
df |
|
تأخذ الدالّة |
||||||||||||||||
| إطار بيانات من مصفوفة NumPy |
import numpy as np
import pandas as pd
# إنشاء مصفوفة NumPy
data = np.array([
[1, 0, 0],
[0, 1, 0],
[2, 3, 4]
])
# تعريف تسميات الأعمدة
columns = ["A", "B", "C"]
# إنشاء إطار بيانات من مصفوفة NumPy
df = pd.DataFrame(data, columns=columns)
# عرض إطار البيانات
df |
|
تُمرَّر مصفوفة NumPy، بالإضافة إلى تسميات الأعمدة، إلى الدالّة |
||||||||||||||||
| إطار بيانات من ملف CSV |
import pandas as pd
# قراءة ملف CSV إلى إطار بيانات
df = pd.read_csv("data.csv")
# عرض إطار البيانات
df |
يُطبع محتوى ملف CSV بتنسيق جدولي. | تقرأ الدالّة |
||||||||||||||||
| إطار بيانات من ملف Excel |
import pandas as pd
# قراءة ملف Excel إلى إطار بيانات
df = pd.read_excel("data.xlsx")
# عرض إطار البيانات
df |
يُطبع محتوى ملف Excel بتنسيق جدولي. | تقرأ الدالّة |
مفاهيم تطبيقية
أساسيات Pandas
Pandas لمعالجة البيانات وتحليلها
توفر مكتبة Pandas دوال وتقنيات لاستكشاف البيانات ومعالجتها والحصول على رؤى منها. تُوصَف دوال إطار البيانات الرئيسية المستخدمة لتحليل البيانات في الجدول التالي.
import pandas as pd
import numpy as np
# إنشاء إطار بيانات نموذجي
days = {
'Season': ['Summer', 'Summer', 'Fall', 'Winter', 'Fall', 'Winter'],
'Month': ['July', 'June', 'September', 'January', 'October', 'February'],
'Month-day': [1, 12, 3, 7, 20, 28],
'Year': [2000, 1990, 2020, 1998, 2001, 2022]
}
df = pd.DataFrame(days)
| Season | Month | Month-day | Year | |
|---|---|---|---|---|
| 0 | Summer | July | 1 | 2000 |
| 1 | Summer | June | 12 | 1990 |
| 2 | Fall | September | 3 | 2020 |
| 3 | Winter | January | 7 | 1998 |
| 4 | Fall | October | 20 | 2001 |
| 5 | Winter | February | 28 | 2022 |
| اسم الدالّة | الشرح | مثال | المخرجات | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
تُرجع أول |
df.head(4) |
|
|||||||||||||||||||||||||||
|
تُرجع آخر |
df.tail(3) |
|
|||||||||||||||||||||||||||
|
توفر ملخصًا لإطار البيانات، بما في ذلك أسماء الأعمدة وأنواع البيانات وعدد القيم غير الفارغة. تُرجع الدالّة أيضًا استخدام ذاكرة إطار البيانات. | df.info() |
<class 'pandas.core.frame.DataFrame'> RangeIndex: 6 entries, 0 to 5 Data columns (total 4 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 Season 6 non-null object 1 Month 6 non-null object 2 Month-day 6 non-null int64 3 Year 6 non-null int64 dtypes: int64(2), object(2) memory usage: 320.0+ bytes |
|||||||||||||||||||||||||||
|
تُنشئ عدد الأعمدة، والمتوسط، والانحراف المعياري، والحد الأدنى، والحد الأقصى، والربيعيات. | df.describe() |
|
|||||||||||||||||||||||||||
|
تحسب تكرارات القيم الفريدة في عمود عند تمرير عمود كوسيط، وتُقدّمها بترتيب تنازلي. | df.value_counts \('Season') |
Season
Fall 2
Summer 2
Winter 2
dtype: int64
|
|||||||||||||||||||||||||||
|
تُرجع مصفوفة من القيم الفريدة في عمود عند استدعائها على عمود. | df['Season'] \.unique() |
['Summer' 'Fall' 'Winter'] |
مفاهيم تطبيقية
عمليات إطار البيانات
استكشاف إضافي
يرجى الرجوع إلى دليل مستخدم Pandas لمزيد من المعلومات حول مكتبة Pandas.
ممارسة البرمجة باستخدام Google
استخدم مستند بيئة غوغل كولاب أدناه لممارسة وظائف Pandas لاستخلاص رؤى من مجموعة بيانات.