0 عبدالباسط ابراهيم نشر 5 أغسطس أرسل تقرير نشر 5 أغسطس الفرق الأساسي هو أن loc تعتمد على أسماء الصفوف والأعمدة ، بينما تعتمد iloc على الفهرس للصفوف والأعمدة وللتوضيح إليك المثال التالي . لنفترض أن لدينا إطار البيانات يمثل بيانات طلاب import pandas as pd data = {'الاسم': ['أحمد', 'سارة', 'علي', 'فاطمة'], 'العمر': [22, 25, 21, 28], 'المدينة': ['الرياض', 'جدة', 'الدمام', 'مكة']} df = pd.DataFrame(data, index=['طالب1', 'طالب2', 'طالب3', 'طالب4']) نستخدم loc حسب اسم الفهرس print(df.loc['طالب2']) بينما نستخدم iloc حسب الفهرس print(df.iloc[1]) # الصف الثاني (الفهرس رقم 1) كما أنه باستخدام iloc لا يشمل النهاية print(df.iloc[0:3]) أي النتيجة ستعرض بيانات الطلاب من الفهرس 0 إلى ما قبل الفهرس 3 (أي الفهارس 0, 1, 2)، وبالتالي لن يتم عرض بيانات "طالب4" على عكس loc 1 اقتباس
0 Mustafa Suleiman نشر 5 أغسطس أرسل تقرير نشر 5 أغسطس loc للاختيار بناءًا على الـ Labels أي أسماء الصفوف وأسماء الأعمدة للوصول إلى البيانات، وتتعامل مع أسماء الفهرس وأسماء الأعمدة، وعند استخدام التقطيع مثلاً df.loc[['A', 'B']] تكون النتيجة شاملة لنقطة النهاية. بينما iloc للاختيار بناءًا على الموقع الرقمي أو الفهرس، أي لمواقع الصفوف والأعمدة بغض النظر عن أسمائها وتبدأ من 0، تمامًا مثل التعامل مع القوائم في بايثون. وعند استخدام التقطيع تكون النتيجة غير شاملة لنقطة النهاية، كما في بايثون. بالتالي استخدم loc في حال لديك فهرس ذو معنى كتواريخ، أو أسماء، أو رموز تعريفية، وذلك سيجنبك الخطأ لو تغير ترتيب البيانات. واستخدم iloc للوصول إلى البيانات بناءًا على موقعها الرقمي بغض النظر عن أسماء الفهرس، أو عندما يكون الفهرس هو الفهرس الرقمي الافتراضي 0, 1, 2, وهكذا، وبالطبع الأمر مفيد جدً في الـ loops أو عند إجراء عمليات حسابية على مواقع محددة. اقتباس
السؤال
إسماعيل العلوي
ما الفرق بين الدالة loc وiloc في pandas
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.