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

السؤال

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...