از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
تفاوت بین iloc و loc در پانداها
سرفصلهای مطلب
معرفی
هنگام کار با دادهها در پایتون، پانداها کتابخانهای است که اغلب به کمک میآید، مخصوصاً وقتی با مجموعههای داده بزرگ سروکار داریم. یکی از رایجترین کارهایی که با پانداها انجام میدهید، فهرستبندی و انتخاب دادهها است. این بایت شما را با دو ابزار قدرتمند ارائه شده توسط پانداها برای این منظور آشنا می کند: 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