وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

تفاوت بین iloc و loc در پانداها

0 168
زمان لازم برای مطالعه: 3 دقیقه


معرفی

هنگام کار با داده‌ها در پایتون، پانداها کتابخانه‌ای است که اغلب به کمک می‌آید، مخصوصاً وقتی با مجموعه‌های داده بزرگ سروکار داریم. یکی از رایج‌ترین کارهایی که با پانداها انجام می‌دهید، فهرست‌بندی و انتخاب داده‌ها است. این بایت شما را با دو ابزار قدرتمند ارائه شده توسط پانداها برای این منظور آشنا می کند: iloc و loc. بیا شروع کنیم!

نمایه سازی در پانداها

Pandas چندین روش برای فهرست بندی داده ها ارائه می دهد. نمایه سازی است process انتخاب سطرها و ستون های خاص داده از یک DataFrame. این را می توان در پانداها از طریق روش های شاخص صریح و شاخص مبتنی بر برچسب انجام داد. این بایت بر روی دومی تمرکز خواهد کرد، به ویژه بر روی loc و iloc کارکرد.

iloc چیست؟

iloc یک تابع پاندا است که برای انتخاب مبتنی بر شاخص استفاده می شود. این بدان معناست که بر اساس موقعیت های عدد صحیح سطرها و ستون ها ایندکس می شود. به عنوان مثال، در یک DataFrame با n ردیف، شاخص ردیف اول 0 و شاخص آخرین ردیف n-1 است.

توجه داشته باشید: iloc مخفف “مکان عدد صحیح” است، بنابراین فقط اعداد صحیح را می پذیرد.

مثال: استفاده از iloc

بیایید یک DataFrame ساده بسازیم و از آن استفاده کنیم iloc برای انتخاب داده ها

import pandas as pd


data = {'Name': ('John', 'Anna', 'Peter', 'Linda'),
        'Age': (28, 24, 35, 32),
        'Profession': ('Engineer', 'Doctor', 'Lawyer', 'Writer')}
df = pd.DataFrame(data)

print(df)

این خروجی خواهد داشت:

   Name  Age Profession
0  John   28   Engineer
1  Anna   24     Doctor
2 Peter   35     Lawyer
3 Linda   32     Writer

استفاده کنیم iloc برای انتخاب ردیف اول این DataFrame:

first_row = df.iloc(0)
print(first_row)

این خروجی خواهد داشت:

Name          John
Age             28
Profession Engineer
Name: 0, dtype: object

اینجا، df.iloc(0) ردیف اول DataFrame را برگرداند. به طور مشابه، شما می توانید استفاده کنید iloc برای انتخاب هر سطر یا ستون با شاخص عدد صحیح آن.

loc چیست؟

loc یکی دیگر از روش های قدرتمند انتخاب داده است که توسط پانداها ارائه شده است. با اجازه دادن به شما کار می کند مبتنی بر برچسب نمایه سازی، به این معنی که داده ها را بر اساس برچسب واقعی داده انتخاب می کنید، نه موقعیت آن. این یکی از دو روش اصلی نمایه سازی در پانداها است، همراه با iloc.

بر خلاف iloc، که از نمایه سازی مبتنی بر اعداد صحیح استفاده می کند، loc از نمایه سازی مبتنی بر برچسب استفاده می کند. این می تواند یک رشته یا یک برچسب عدد صحیح باشد، اما بر اساس موقعیت نیست. این بر اساس خود برچسب است.

توجه داشته باشید: نمایه سازی مبتنی بر برچسب به این معنی است که اگر نمایه DataFrame شما لیستی از رشته ها باشد، برای مثال، از آن رشته ها برای انتخاب داده ها استفاده می کنید، نه موقعیت آنها در DataFrame.

مثال: استفاده از loc

بیایید به یک مثال ساده از روش استفاده نگاه کنیم loc برای انتخاب داده ها ابتدا یک DataFrame ایجاد می کنیم:

import pandas as pd

data = {
    'fruit': ('apple', 'banana', 'cherry', 'date'),
    'color': ('red', 'yellow', 'red', 'brown'),
    'weight': (120, 150, 10, 15)
}
df = pd.DataFrame(data)
df.set_index('fruit', inplace=True)
print(df)

خروجی:

        color  weight
fruit                
apple     red     120
banana yellow     150
cherry    red      10
date    brown      15

حالا بیایید استفاده کنیم loc برای انتخاب داده ها:

print(df.loc('banana'))

خروجی:

color     yellow
weight       150
Name: banana, dtype: object

همانطور که می بینید ما استفاده کردیم loc برای انتخاب ردیف “موز” بر اساس برچسب آن.

تفاوت بین iloc و loc

تفاوت اولیه بین iloc و loc به نمایه سازی مبتنی بر برچسب در مقابل اعداد صحیح خلاصه می شود. iloc از نمایه سازی مبتنی بر اعداد صحیح استفاده می کند، به این معنی که داده ها را بر اساس موقعیت عددی آن در DataFrame انتخاب می کنید. locاز سوی دیگر، از نمایه سازی مبتنی بر برچسب استفاده می کند، به این معنی که داده ها را بر اساس برچسب آن انتخاب می کنید.

یکی دیگر از تفاوت های کلیدی روش برخورد آنها با برش ها است. با iloc، نقطه پایانی یک اسلایس شامل نمی شود، درست مانند برش معمولی پایتون. اما با loc، نقطه پایان گنجانده شده است.

نتیجه

در این بایت کوتاه، نمونه هایی از استفاده از آن را نشان دادیم loc روش در پانداها، آن را در عمل دید و با همتای خود مقایسه کرد، iloc. این دو روش هر دو ابزار مفیدی برای انتخاب داده ها در پانداها هستند، اما به روش های کمی متفاوت عمل می کنند.

(برچسب‌ها به ترجمه)# python



منتشر شده در 1402-12-28 02:10:05

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید