كيفية تحديد الأعمدة حسب الفهرس في pandas dataframe


في كثير من الأحيان قد ترغب في تحديد الأعمدة في Pandas DataFrame بناءً على قيمة الفهرس الخاصة بها.

إذا كنت تريد تحديد الأعمدة بناءً على فهرسة الأعداد الصحيحة، فيمكنك استخدام الدالة .iloc .

إذا كنت تريد تحديد الأعمدة بناءً على فهرسة الملصقات، فيمكنك استخدام الدالة .loc .

يقدم هذا البرنامج التعليمي مثالاً لكيفية استخدام كل من هذه الوظائف عمليًا.

المثال 1: تحديد الأعمدة بناءً على فهرسة الأعداد الصحيحة

يوضح التعليمة البرمجية التالية كيفية إنشاء pandas DataFrame واستخدام .iloc لتحديد العمود الذي يحتوي على قيمة فهرس عددية 3 :

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B'],
                   ' points ': [11, 7, 8, 10, 13, 13],
                   ' assists ': [5, 7, 7, 9, 12, 9],
                   ' rebounds ': [11, 8, 10, 6, 6, 5]})

#view DataFrame
df

	team points assists rebounds
0 A 11 5 11
1 To 7 7 8
2 to 8 7 10
3 B 10 9 6
4 B 13 12 6
5 B 13 9 5

#select column with index position 3
df. iloc [:, 3]

0 11
1 8
2 10
3 6
4 6
5 5
Name: rebounds, dtype: int64

يمكننا استخدام بناء جملة مماثل لتحديد أعمدة متعددة:

 #select columns with index positions 1 and 3
df. iloc [:, [1, 3]]


        rebound points
0 11 11
1 7 8
2 8 10
3 10 6
4 13 6
5 13 5

أو يمكننا تحديد جميع الأعمدة في النطاق:

 #select columns with index positions in range 0 through 3
df. iloc [:, 0:3]

        team points assists
0 to 11 5
1 To 7 7
2 to 8 7
3 B 10 9
4 B 13 12
5 B 13 9

المثال 2: حدد الأعمدة بناءً على فهرسة الملصقات

يوضح التعليمة البرمجية التالية كيفية إنشاء Pandas DataFrame واستخدام .loc لتحديد العمود الذي يحمل تسمية فهرس “مرتد” :

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B'],
                   ' points ': [11, 7, 8, 10, 13, 13],
                   ' assists ': [5, 7, 7, 9, 12, 9],
                   ' rebounds ': [11, 8, 10, 6, 6, 5]})

#view DataFrame
df

	team points assists rebounds
0 A 11 5 11
1 To 7 7 8
2 to 8 7 10
3 B 10 9 6
4 B 13 12 6
5 B 13 9 5

#select column with index label 'rebounds'
df. loc [:, ' rebounds ']

0 11
1 8
2 10
3 6
4 6
5 5
Name: rebounds, dtype: int64

يمكننا استخدام بناء جملة مماثل لتحديد أعمدة متعددة ذات تسميات فهرس مختلفة:

 #select the columns with index labels 'points' and 'rebounds'
df. loc [:,[' points ',' rebounds ']]

	rebound points
0 11 11
1 7 8
2 8 10
3 10 6
4 13 6
5 13 5

أو يمكننا تحديد جميع الأعمدة في النطاق:

 #select columns with index labels between 'team' and 'assists'
df. loc [:, ' team ':' assists ']

	team points assists
0 to 11 5
1 To 7 7
2 to 8 7
3 B 10 9
4 B 13 12
5 B 13 9

ذات صلة: Pandas loc vs iloc: ما الفرق؟

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في الباندا:

كيفية التجميع حسب الفهرس في Pandas DataFrame
كيفية تحديد الصفوف حسب الفهرس في Pandas DataFrame
كيفية الحصول على أرقام الصفوف في Pandas DataFrame
كيفية إزالة عمود الفهرس في Pandas DataFrame

Add a Comment

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