اذهب إلى المحتوى
  • 0

ما الفرق بين تعليمة loc. و iloc. بلغة البايثون؟

Maram Jouriah

السؤال

Recommended Posts

  • 1

loc : تعمل فقط مع الدليل (index)

iloc : تمعل مع الموقع (position)

مثال: 
نقوم بإنشاء اطار البيانات التالي:

df = pd.DataFrame({'age':[30, 2, 12, 4, 32, 33, 69],
                   'color':['blue', 'green', 'red', 'white', 'gray', 'black', 'red'],
                   'food':['Steak', 'Lamb', 'Mango', 'Apple', 'Cheese', 'Melon', 'Beans'],
                   'height':[165, 70, 120, 80, 180, 172, 150],
                   'score':[4.6, 8.3, 9.0, 3.3, 1.8, 9.5, 2.2],
                   'state':['NY', 'TX', 'FL', 'AL', 'AK', 'TX', 'TX']
                   },
                  index=['Jane', 'Nick', 'Aaron', 'Penelope', 'Dean', 'Christina', 'Cornelia'])

يمكن استخدام loc  للحصول على سطر بيانات واحد:
 

df.loc['Penelope']

و النتيجة:
 

age           4
color     white
food      Apple
height       80
score       3.3
state        AL
Name: Penelope, dtype: object

أما في حال أردنا اختيار سطر بحسب رقم السطر، نستخدم iloc:

df.iloc[4]

و النتيجة: 
 

age           32
color       gray
food      Cheese
height       180
score        1.8
state         AK
Name: Dean, dtype: object

 
 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

1. Iloc يعتمد على الرقم أما loc يعتمد على الاسم.
2. يمكن لـ Iloc معرفة كل من الأعمدة والصفوف بينما loc فقط الصفوف.
3. Loc جيد لكل من السلاسل المنطقية وغير المنطقية بينما لا يعمل iloc مع السلاسل المنطقية.
لذا عندما تعرف اسم الصف الذي تريد استخراجه،  استخدم loc وإذا كنت تعرف الموضع (الرقم) فاستخدم iloc.
مثال: ليكن لدينا الإطار التالي.

import pandas as pd #You can name it anything
dat=pd.DataFrame({'Fruit':['Apple','Peach','Plum'],
                 'Veggies':['Tomato','Capsicum','Cabbage'],
                 'Pulses':['Lentil','Pea','ChickPea']},index=['First','Second','Third'])
dat.head()
"""
 	Fruit 	Veggies 	Pulses
First 	Apple 	Tomato 	Lentil
Second 	Peach 	Capsicum 	Pea
Third 	Plum 	Cabbage 	ChickPea
"""

سنقوم الآن باستخراج بيانات الصف الثالث من خلال الرقم:

dat.iloc[2]
"""
Fruit          Plum
Veggies     Cabbage
Pulses     ChickPea
Name: Third, dtype: object
"""
dat.loc[2] #أما هذا سيعطي خطأ

سنقوم الآن باستخراج بيانات الصف الثالث من خلال الاسم:

dat.loc['Second']
dat.iloc[1] # سيعطي نفس النتيجة
dat.iloc['Second'] # سيعطي خطأ

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...