تُعدّ جداول بيانات Pandas (Pandas DataFrames) حجر الزاوية في معالجة البيانات في بايثون. ويُعدّ إضافة الصفوف بكفاءة مهمة شائعة، وتفصل هذه المقالة أفضل الممارسات لإضافة صف واحد إلى جدول البيانات الخاص بك.
محتويات الجدول
- استخدام
.loc
لإضافة الصفوف بكفاءة - إضافة الصفوف باستخدام القواميس من أجل سهولة القراءة
- لماذا يجب تجنب استخدام طريقة
append()
استخدام .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
والقائمة على القواميس أفضل من حيث الأداء والصيانة. دائماً يُفضّل استخدام النهج الأكثر كفاءة ودعماً الموصوفة أعلاه.