كيفية تحديد الصفوف حسب الفهرس في pandas dataframe
غالبًا قد ترغب في تحديد صفوف في pandas DataFrame بناءً على قيمة الفهرس الخاصة بها.
إذا كنت تريد تحديد الصفوف بناءً على فهرسة الأعداد الصحيحة، فيمكنك استخدام الدالة .iloc .
إذا كنت تريد تحديد صفوف بناءً على فهرسة الملصقات، فيمكنك استخدام الدالة .loc .
يقدم هذا البرنامج التعليمي مثالاً لكيفية استخدام كل من هذه الوظائف عمليًا.
مثال 1: تحديد الصفوف بناءً على فهرسة الأعداد الصحيحة
يوضح التعليمة البرمجية التالية كيفية إنشاء Pandas DataFrame واستخدام .iloc لتحديد الصف بقيمة فهرس عددية 4 :
import pandas as pd import numpy as np #make this example reproducible n.p. random . seeds (0) #createDataFrame df = pd. DataFrame ( np.random.rand (6,2),index=range(0,18,3),columns=[' A ' ,' B ']) #view DataFrame df A B 0 0.548814 0.715189 3 0.602763 0.544883 6 0.423655 0.645894 9 0.437587 0.891773 12 0.963663 0.383442 15 0.791725 0.528895 #select the 5th row of the DataFrame df. iloc [[4]] A B 12 0.963663 0.383442
يمكننا استخدام بناء جملة مماثل لتحديد صفوف متعددة:
#select the 3rd, 4th, and 5th rows of the DataFrame
df. iloc [[2, 3, 4]]
A B
6 0.423655 0.645894
9 0.437587 0.891773
12 0.963663 0.383442
أو يمكننا تحديد جميع الصفوف في النطاق:
#select the 3rd, 4th, and 5th rows of the DataFrame
df. iloc [2:5]
A B
6 0.423655 0.645894
9 0.437587 0.891773
12 0.963663 0.383442
مثال 2: تحديد الصفوف بناءً على فهرسة التصنيفات
يوضح التعليمة البرمجية التالية كيفية إنشاء Pandas DataFrame واستخدام .loc لتحديد الصف مع تسمية فهرس 3 :
import pandas as pd import numpy as np #make this example reproducible n.p. random . seeds (0) #createDataFrame df = pd. DataFrame ( np.random.rand (6,2),index=range(0,18,3),columns=[' A ' ,' B ']) #view DataFrame df A B 0 0.548814 0.715189 3 0.602763 0.544883 6 0.423655 0.645894 9 0.437587 0.891773 12 0.963663 0.383442 15 0.791725 0.528895 #select the row with index label '3' df. loc [[3]] A B 3 0.602763 0.544883
يمكننا استخدام بناء جملة مماثل لتحديد صفوف متعددة بتسميات فهرس مختلفة:
#select the rows with index labels '3', '6', and '9'
df. loc [[3, 6, 9]]
A B
3 0.602763 0.544883
6 0.423655 0.645894
9 0.437587 0.891773
الفرق بين .iloc و .loc
توضح الأمثلة أعلاه الفرق الدقيق بين .iloc و .loc :
- .iloc يختار الصفوف بناءً على فهرس عدد صحيح . لذا، إذا كنت تريد تحديد الصف الخامس من DataFrame، فيمكنك استخدام df.iloc[[4]] نظرًا لأن الصف الأول موجود في الفهرس 0، والصف الثاني موجود في الفهرس 1، وهكذا.
- .loc يحدد الصفوف بناءً على فهرس مسمى . لذا، إذا كنت تريد تحديد الصف الذي يحمل علامة فهرس 5، فسوف تستخدم مباشرة df.loc[[5]].
مصادر إضافية
كيفية الحصول على أرقام الصفوف في Pandas DataFrame
كيفية حذف الصفوف ذات قيم NaN في Pandas
كيفية إزالة عمود الفهرس في الباندا