أنواع بيانات Python لعلم البيانات
int وfloat وcomplex وbool وstr — كيف يؤثر اختيار الدقة والنوع في تحليل البيانات.
أنواع بيانات Python لعلم البيانات درس مجاني في Learn AI with Python على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Learn AI with Python، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Learn AI with Python 4 دروس في المجموع.
الأرقام في علوم البيانات
يحتوي Python على نوعين رقميين أساسيين: int (أعداد صحيحة بدقة اعتباطية) وfloat (أعداد عشرية وفق معيار IEEE 754 بدقة 64 بت). ويساعد اختيار النوع المناسب على تجنّب أخطاء البيانات الخفية.
int دقيق وغير محدود
لا تتعرض أعداد Python الصحيحة لتجاوز السعة أبدًا. فهي تكبر إلى الحد الذي تسمح به الذاكرة، مما يجعلها مناسبة جدًا للعدّ الدقيق وحساب المضروبات الكبيرة.
big = 2 ** 200
print(big)
print(type(big)) # <class 'int'>مشكلة دقة float
لا تستطيع أعداد الفاصلة العائمة تمثيل كل عدد عشري بدقة تامة. والمفاجأة الكلاسيكية هي أن 0.1 + 0.2 لا يساوي تمامًا 0.3.
print(0.1 + 0.2) # 0.30000000000000004
print(0.1 + 0.2 == 0.3) # Falseمقارنة أعداد float بأمان
لا تختبروا أعداد float باستخدام == أبدًا. استخدموا math.isclose مع هامش سماح بدلًا من ذلك.
import math
print(math.isclose(0.1 + 0.2, 0.3)) # TrueDecimal للتعامل مع المال
بالنسبة إلى العملات، استخدموا decimal.Decimal، الذي يخزّن قيمًا دقيقة بالنظام العشري. أنشئوا قيم Decimal دائمًا من سلاسل نصية لا من أعداد float، لتجنّب توارث أخطاء float.
from decimal import Decimal
price = Decimal("0.10") + Decimal("0.20")
print(price) # 0.30bool فئة فرعية من int
في Python، تساوي True القيمة 1، وتساوي False القيمة 0. ويتيح لكم ذلك جمع القيم المنطقية لعدّ التطابقات.
mask = [True, False, True, True]
print(sum(mask)) # 3 matches
print(True + True) # 2العد باستخدام القيم المنطقية
يظهر سلوك bool باعتباره int في كل مكان تقريبًا في NumPy وpandas: إذ يحسب جمع قناع منطقي عدد الصفوف التي تحقق شرطًا معينًا.
ages = [12, 20, 35, 17, 40]
adults = sum(a >= 18 for a in ages)
print(adults) # 3فحص النوع باستخدام type()
تعيد type(x) الفئة الدقيقة للقيمة. وهذا مفيد عندما يحتوي عمود بشكل غير متوقع على سلاسل نصية بدلًا من أعداد.
print(type(5)) # <class 'int'>
print(type(5.0)) # <class 'float'>
print(type("5")) # <class 'str'>التحقق من النوع باستخدام isinstance()
فضّلوا isinstance على type == لأنه يراعي الوراثة. لاحظوا أن القيمة المنطقية bool تنجح في فحص int.
print(isinstance(5, int)) # True
print(isinstance(True, int)) # True (bool subclasses int)
print(isinstance(5.0, (int, float))) # Trueمشكلات التحويل التلقائي للأنواع
يؤدي خلط الأنواع إلى تحويل صامت. فقسمة الأعداد الصحيحة على أعداد float تنتج أعداد float، بينما يؤدي جمع عدد مع سلسلة نصية إلى رفع TypeError. نظّفوا أنواع بياناتكم مبكرًا.
print(5 / 2) # 2.5 (true division always float)
print(5 // 2) # 2 (floor division)
# "id-" + 5 # TypeError
print("id-" + str(5)) # id-5مفاجآت float في التجميع
يؤدي جمع أعداد float كثيرة إلى تراكم أخطاء صغيرة. وبالنسبة إلى مجموعات البيانات الكبيرة، فضّلوا NumPy الذي يستخدم الجمع الزوجي للحد من الانحراف.
vals = [0.1] * 10
print(sum(vals)) # 0.9999999999999999
# NumPy: np.sum(vals) is more numerically stableاختبار سريع
اختبروا مدى استيعابكم لأنواع Python.
مراجعة
حقائق رقمية أساسية للعمل مع البيانات:
intدقيق وغير محدودfloatتقريبي؛ استخدمواmath.iscloseبدلًا من==- استخدموا
Decimal("...")للتعامل مع المال boolهو int: إذ يحسبsum(mask)عدد التطابقات- تعرض
type()الفئة، بينما تراعيisinstance()الوراثة - انتبهوا إلى التحويل الصامت في القسمة والضم
الأسئلة الشائعة
هل درس «أنواع بيانات Python لعلم البيانات» مجاني؟
نعم — نص درس «أنواع بيانات Python لعلم البيانات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Learn AI with Python، انتقل إلى CoddyKit PRO. تتضمن دورة Learn AI with Python 4 دروس في المجموع.
ماذا ستتعلم في «أنواع بيانات Python لعلم البيانات»؟
int وfloat وcomplex وbool وstr — كيف يؤثر اختيار الدقة والنوع في تحليل البيانات. تتمرن على Learn AI with Python مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Learn AI with Python؟
لا تُشترط خبرة سابقة. Learn AI with Python على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «أنواع بيانات Python لعلم البيانات»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Learn AI with Python هذا؟
نعم. كل درس في Learn AI with Python يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- البيئات الافتراضية وpip
- دفاتر Jupyter لعلم البيانات
- أنواع بيانات Python لعلم البيانات
- العمل مع Python REPL وIPython