تمكين الطالب من محاكاة عملية تحليل نتائج الانتخابات، وفهم كيفية تقسيم الناخبين إلى فئات (Segmentation)، واستخدام الأوامر البرمجية البسيطة لاستقراء التوجهات الكبرى للرأي العام بناءً على عينات البيانات.
تعتبر الانتخابات هي "المختبر الطبيعي" للعلوم السياسية. في السابق، كان المحلل السياسي يقضي أياماً في فرز الأصوات يدوياً أو باستخدام جداول بسيطة، لكن اليوم، وباستخدام بايثون، يمكننا تحليل ملايين الأصوات في ثوانٍ. هذه المحاضرة ستعلمكم كيف تنظرون إلى "خلف" الأرقام الصماء؛ لنعرف ليس فقط من فاز؟ بل لماذا فاز؟ ومن هي الفئات التي منحت أصواتها لكل مرشح.
باستخدام لغة بايثون، نقوم بتقسيم البيانات الضخمة إلى مجموعات لفهم سلوك التصويت:
التصنيف الجغرافي: مقارنة نسب التصويت بين المناطق الحضرية والريفية.
التصنيف الديموغرافي: تحليل العلاقة بين "العمر" أو "المستوى التعليمي" وبين اختيار مرشح معين.
مثال: هل فاز المرشح (أ) بفضل أصوات الشباب أم بفضل فئة كبار السن؟
نتعلم كيف نستخدم "العينات" (Samples) للتنبؤ بالنتيجة النهائية. من خلال البرمجة، يمكننا حساب "هامش الخطأ" والتأكد مما إذا كانت العينة تمثل المجتمع فعلاً أم أنها منحازة.
أحياناً يخشى الناخبون التصريح برأيهم الحقيقي في الاستطلاعات (Shy Voter Factor). نستخدم بايثون للمقارنة بين نتائج الاستطلاعات والنتائج الفعلية لتفسير هذه الفجوات السوسيولوجية.
Election analysis is no longer just about the final count. It is about segmentation. Using Python, we can filter datasets to answer specific questions:
How did gender influence the vote?
Is there a correlation between unemployment rates in a district and the support for opposition parties?
Election data is often messy (names with typos, missing regional codes). Students will apply their Pandas skills to ensure every vote is counted correctly and categorized geographically.
In this stage, the student moves from code to Political Dashboards. We create charts that show "Swing States" or "Voting Shifts" between two election cycles, making the political change visible and easy to interpret.
سنستخدم كوداً بسيطاً لتحليل نتائج تصويت في ثلاث ولايات افتراضية لمعرفة "الحزب المهيمن":
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# 1. إنشاء بيانات افتراضية لنتائج 3 ولايات
election_data = {
'Province': ['Setif', 'Bejaia', 'Constantine', 'Setif', 'Bejaia', 'Constantine'],
'Party': ['Party A', 'Party A', 'Party A', 'Party B', 'Party B', 'Party B'],
'Votes': [120000, 45000, 89000, 95000, 110000, 75000]
}
df = pd.DataFrame(election_data)
# 2. رسم المقارنة بين الأحزاب حسب الولايات
sns.barplot(data=df, x='Province', y='Votes', hue='Party')
plt.title('مقارنة نتائج الأحزاب حسب الولاية - Election Results by Province')
plt.show()
تعلمنا اليوم أن البرمجة هي "عين" الباحث التي يرى بها تفاصيل السلوك الانتخابي. الطالب الآن لا يرى أرقاماً فقط، بل يرى خريطة سياسية متحركة تخبره عن موازين القوى في المجتمع.