إنشاء السلاسل
بناء مصفوفات أحادية البعد معلّمة من القوائم والقواميس والقيم العددية باستخدام كائن Series في pandas.
- إنشاء كائن Series من قائمة أو قاموس أو قيمة عددية
- فهم دور الفهرس (index) في كائن Series
- الوصول إلى القيم والفهارس في كائن Series
- تنفيذ عمليات متجهة على بيانات Series
ما هو كائن Series؟
كائن Series في pandas هو مصفوفة أحادية البعد معلّمة. فكّر فيه كعمود واحد من جدول بيانات ، لكل قيمة تسمية (الفهرس) ويمكن أن تكون البيانات من أي نوع: أعداد صحيحة، أعداد عشرية، نصوص، أو حتى كائنات بايثون.
import pandas as pd
scores = pd.Series([88, 92, 75, 81])
print(scores)المخرجات:
0 88
1 92
2 75
3 81
dtype: int64
العمود الأيسر هو الفهرس (0, 1, 2, 3 افتراضيًا). العمود الأيمن هو البيانات. معًا يشكلان كائن Series.
إنشاء Series من مصادر مختلفة
من قائمة ، يكون الفهرس افتراضيًا نطاقًا من الأعداد الصحيحة:
temperatures = pd.Series([22.5, 24.1, 19.8, 26.3])
print(temperatures)من قاموس ، تصبح المفاتيح هي الفهرس:
population = pd.Series({
"Lagos": 15_400_000,
"Cairo": 20_900_000,
"Johannesburg": 5_600_000,
})
print(population)المخرجات:
Lagos 15400000
Cairo 20900000
Johannesburg 5600000
dtype: int64
من قيمة عددية ، تُكرَّر القيمة الواحدة لتملأ الفهرس:
zeros = pd.Series(0, index=["a", "b", "c", "d"])
print(zeros)الوصول إلى القيم
استخدم الفهرس لاسترجاع القيم. مع الفهرس المعلَّم، يمكنك استخدام أقواس الفهرسة أو الوصول بالنقطة:
print(population["Cairo"]) # 20900000
print(population[["Lagos", "Johannesburg"]]) # subset with multiple labelsمع الفهرس الصحيح، يمكنك التقطيع (slice) تمامًا كما تقطّع القوائم:
print(scores[1:3]) # select index 1 and 2العمليات المتجهة
تدعم كائنات Series العمليات على مستوى العناصر دون استخدام حلقات:
celsius = pd.Series([22, 25, 18, 30])
fahrenheit = celsius * 9 / 5 + 32
print(fahrenheit)المخرجات:
0 71.6
1 77.0
2 64.4
3 86.0
dtype: float64
تعيد عوامل المقارنة كائن Series منطقيًا:
print(celsius > 24)المخرجات:
0 False
1 True
2 False
3 True
dtype: bool
الخصائص والأساليب المفيدة لكائن Series
| الخصية/الطريقة | الوصف |
|---|---|
.values | يُرجع المصفوفة الأساسية من NumPy |
.index | يُرجع كائن الفهرس |
.dtype | يُرجع نوع البيانات |
.shape | يُرجع صفًا مزدوجًا (n,) |
.mean(), .sum(), .max() | أساليب تجميع |
.value_counts() | يحسب القيم الفريدة |
print(scores.mean()) # 84.0
print(scores.max()) # 92
print(scores.shape) # (4,)جرّب بنفسك
أنشئ كائن Series اسمه grades يحوي درجات الطلاب التالية: Alice: 87, Bob: 92, Carol: 78, David: 95. اطبع الكائن، ثم احسب واطبع متوسط الدرجات. أخيرًا، أنشئ كائن Series منطقيًا يوضح أي الطلاب حصلوا على أكثر من 85.
import pandas as pd
grades = pd.Series({"Alice": 87, "Bob": 92, "Carol": 78, "David": 95})
print(grades)
print(f"Mean: {grades.mean()}")
print(grades > 85)خلاصات رئيسية
- كائن Series هو مصفوفة أحادية البعد معلّمة ، وهي الأساس في pandas
- يوفر الفهرس تسميات للوصول إلى البيانات وتقطيعها
- تسمح العمليات المتجهة بتحويل أعمدة كاملة دون حلقات
- تُعد القواميس مصدرًا طبيعيًا لكائنات Series ذات تسميات ذات معنى
تحدي التطبيق
لديك قاموس يمثل هطول الأمطار الشهري بالمليمترات: {"Jan": 45, "Feb": 38, "Mar": 52, "Apr": 61, "May": 48, "Jun": 35}. أنشئ كائن Series منه، ثم احسب إجمالي الهطول ومتوسط الهطول الشهري. أي شهر شهد أعلى هطول؟ وأيها شهد الأقل؟
1. ما هو كائن Series في pandas؟
2. كيف تنشئ كائن Series من قائمة؟
3. ماذا يخبرك s.dtype؟