Data Science

تعديل خلايا إطار بيانات Pandas بكفاءة باستخدام المؤشرات

Spread the love

تُعدّ جداول بيانات Pandas (Pandas DataFrames) حجر الزاوية في معالجة البيانات في بايثون. غالبًا ما ستحتاج إلى تعديل خلايا فردية داخل جدول البيانات الخاص بك. تستعرض هذه المقالة ثلاث طرق فعّالة لتحقيق ذلك باستخدام مؤشر جدول البيانات.

جدول المحتويات

  1. تعيين قيم الخلايا باستخدام .at
  2. تعيين قيم الخلايا باستخدام .loc
  3. طريقة .set_value() المُهملة

تعيين قيم الخلايا باستخدام .at

يوفر مُؤشّر .at طريقة فعّالة للغاية للوصول إلى خلية واحدة وتعديلها في جدول بيانات باستخدام تسميات الصفّ والعمود. تجعله سرعته مثاليًا لعمليات التعيين ذات القيمة المفردة.


import pandas as pd

# جدول بيانات نموذجي
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data, index=['A', 'B', 'C'])

# تعيين قيمة الخلية في الصف 'B' والعمود 'col1' إلى 10
df.at['B', 'col1'] = 10

print(df)

سيكون المخرَج:


   col1  col2
A     1     4
B    10     5
C     3     6

تمّ تحسين .at من حيث السرعة والبساطة عند التعامل مع خلايا مفردة. ومع ذلك، فإن محاولة تعيين قيم متعددة ستؤدي إلى خطأ TypeError.

تعيين قيم الخلايا باستخدام .loc

يوفر مُؤشّر .loc مرونة أكبر. يسمح بالفهرسة القائمة على التسميات للصفوف والأعمدة ويمكنه معالجة تعيينات القيم المفردة أو المصفوفات لخلايا متعددة في وقت واحد.


import pandas as pd

# جدول بيانات نموذجي
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data, index=['A', 'B', 'C'])

# تعيين قيمة الخلية في الصف 'A' والعمود 'col2' إلى 100
df.loc['A', 'col2'] = 100

print(df)

# تعيين قيم متعددة
df.loc[['A', 'B'], 'col1'] = [5, 15]  #يُعيّن 5 إلى A و 15 إلى B
print(df)

سيكون المخرَج الأول:


   col1  col2
A     1   100
B     2     5
C     3     6

ثم:


   col1  col2
A     5   100
B    15     5
C     3     6

.loc هي الطريقة الأكثر تنوعًا، وهي مناسبة لكل من تحديثات الخلايا المفردة والسيناريوهات الأكثر تعقيدًا التي تتضمن صفوفًا وأعمدة متعددة. على الرغم من تنوعها، إلا أن .at أسرع عمومًا في حالة التغييرات في الخلايا المفردة.

طريقة .set_value() المُهملة

طريقة .set_value() مُهملة في إصدارات Pandas الأحدث. بينما قد لا تزال تعمل في الإصدارات القديمة، يُنصح بشدة باستخدام .at أو .loc لتحقيق توافق أفضل وأداء أفضل. تجنب استخدام .set_value() في التعليمات البرمجية الجديدة.

باختصار، توفر كل من .at و .loc طرقًا فعّالة لتعديل الخلايا الفردية في جدول بيانات Pandas. يُفضّل استخدام .at لسرعتها وبساطتها مع القيم المفردة، و .loc لمرونتها عند العمل مع خلايا متعددة أو تعديلات أكثر تعقيدًا.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *