كيفية تحديد الصفوف حسب الفهرس في 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
كيفية إزالة عمود الفهرس في الباندا

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *