Data Analysis

إضافة صفوف بكفاءة إلى جداول بيانات Pandas

Spread the love

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

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

استخدام .loc لإضافة الصفوف بكفاءة

يوفر مُحدد .loc الطريقة الأكثر كفاءة و مباشرة لإضافة صف. وهو مفيد بشكل خاص عند العمل مع جداول بيانات أكبر، مما يقلل من تكاليف الأداء. يمكنك تحديد فهرس الصف الجديد وتقديم البيانات كقائمة أو مصفوفة NumPy.


import pandas as pd
import numpy as np

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

# بيانات الصف الجديد كقائمة
new_row_list = [4, 7]

# إضافة الصف الجديد باستخدام .loc
df.loc[len(df)] = new_row_list

print("باستخدام القائمة:n", df)


# بيانات الصف الجديد كمصفوفة NumPy
new_row_array = np.array([5,8])

# إضافة الصف الجديد باستخدام .loc مع مصفوفة NumPy
df.loc[len(df)] = new_row_array

print("nباستخدام مصفوفة NumPy:n",df)

يُعدّل هذا النهج مباشرة هيكل جدول البيانات الأساسي، مما يجعله أسرع من البدائل. يُظهر الإخراج الصفوف الجديدة المضافة.

إضافة الصفوف باستخدام القواميس من أجل سهولة القراءة

عند التعامل مع العديد من الأعمدة، فإن استخدام قاموس لتمثيل الصف الجديد يُحسّن من سهولة قراءة التعليمات البرمجية. تتوافق مفاتيح القاموس مع أسماء الأعمدة، والقيم هي بيانات الصف. يقوم pd.concat بدمج جدول البيانات الحالي مع الصف الجديد بكفاءة.


import pandas as pd

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

# بيانات الصف الجديد كقاموس
new_row_dict = {'col1': 5, 'col2': 8}

# إضافة الصف الجديد باستخدام pd.concat
df = pd.concat([df, pd.DataFrame([new_row_dict])], ignore_index=True)

print(df)

يضمن ignore_index=True معالجة الفهرس بشكل صحيح، مما يمنع تكرار الفهارس.

لماذا يجب تجنب استخدام طريقة append()

طريقة append() مُهملة في إصدارات Pandas الحديثة. إنها أقل كفاءة وقد تؤدي إلى سلوك غير متوقع. تُعدّ طريقتا .loc والقائمة على القواميس أفضل من حيث الأداء والصيانة. دائماً يُفضّل استخدام النهج الأكثر كفاءة ودعماً الموصوفة أعلاه.

اترك تعليقاً

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