إزالة الأعمدة بكفاءة من جداول بيانات Pandas
تُعد جداول بيانات Pandas حجر الزاوية في معالجة البيانات في Python. غالبًا ما ستحتاج إلى إزالة الأعمدة غير ذات الصلة بتحليلك الحالي. تُفصّل هذه المقالة عدة طرق لحذف الأعمدة بكفاءة من جداول بيانات Pandas الخاصة بك، مع توفير أمثلة واضحة وتسليط الضوء على أفضل الممارسات.
جدول المحتويات:
- استخدام طريقة
drop()
- حذف أعمدة متعددة
- استخدام كلمة
del
المفتاحية - استخدام طريقة
pop()
- أفضل الممارسات والاعتبارات
- الأسئلة الشائعة
استخدام طريقة drop()
طريقة drop()
هي النهج الأكثر تنوعًا والموصى به لحذف الأعمدة. فهي توفر المرونة والتحكم، مما يسمح لك بتعديل جدول البيانات في مكانه أو إنشاء نسخة.
import pandas as pd
# جدول بيانات نموذجي
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9]}
df = pd.DataFrame(data)
print("جدول البيانات الأصلي:n", df)
# حذف 'col2' وإنشاء جدول بيانات جديد
df_dropped = df.drop('col2', axis=1) # axis=1 يُحدد حذف العمود
print("nجدول البيانات بعد حذف 'col2' (جدول بيانات جديد):n", df_dropped)
# حذف 'col3' في مكانه
df.drop('col3', axis=1, inplace=True)
print("nجدول البيانات بعد حذف 'col3' (في مكانه):n", df)
axis=1
أمر بالغ الأهمية، حيث يشير إلى حذف العمود (axis=0
مخصص للصفوف). inplace=True
يُعدّل جدول البيانات الأصلي؛ خلاف ذلك، يتم إرجاع نسخة.
حذف أعمدة متعددة
تتعامل drop()
بسهولة مع أعمدة متعددة. ما عليك سوى تقديم قائمة بأسماء الأعمدة.
import pandas as pd
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9], 'col4': [10, 11, 12]}
df = pd.DataFrame(data)
# حذف أعمدة متعددة
df_dropped = df.drop(['col2', 'col4'], axis=1)
print("nجدول البيانات بعد حذف أعمدة متعددة:n", df_dropped)
استخدام كلمة del
المفتاحية
توفر del
طريقة موجزة لإزالة عمود واحد، لكنها تُعدّل جدول البيانات مباشرةً دون إنشاء نسخة. استخدمها بحذر!
import pandas as pd
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9]}
df = pd.DataFrame(data)
# حذف 'col2' باستخدام del
del df['col2']
print("nجدول البيانات بعد حذف 'col2' باستخدام del:n", df)
استخدام طريقة pop()
تزيل pop()
عمودًا وتعيده كمتسلسلة Pandas. مفيد عندما تحتاج إلى كل من العمود المحذوف وجدول البيانات المُعدّل.
import pandas as pd
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9]}
df = pd.DataFrame(data)
# حذف 'col2' باستخدام pop()
popped_column = df.pop('col2')
print("nجدول البيانات بعد إخراج 'col2':n", df)
print("nالعمود المُخرج:n", popped_column)
أفضل الممارسات والاعتبارات
في معظم السيناريوهات، تُفضّل طريقة drop()
نظرًا لمرونتها وقدرتها على إنشاء نسخة، مما يمنع التعديلات غير المقصودة على جدول البيانات الأصلي. del
مناسبة فقط لحذف عمود واحد حيث يكون التعديل في مكانه مقبولاً. pop()
طريقة متخصصة للحالات التي تتطلب بيانات العمود المحذوف.
الأسئلة الشائعة
- س: ماذا يحدث إذا حاولت حذف عمود غير موجود؟
ج: يتم إثارةKeyError
بواسطة كل منdrop()
وdel
. - س: هل يمكنني حذف الأعمدة بناءً على شرط؟
ج: نعم، أنشئ جدول بيانات جديدًا يحتوي فقط على الأعمدة المطلوبة باستخدام الفهرسة المنطقية أو تحديد العمود. - س: هل يوجد فرق في الأداء بين هذه الطرق؟
ج: بالنسبة للأعمدة المفردة، تكون الاختلافات عادةً ضئيلة. بالنسبة للأعمدة المتعددة، تكونdrop()
بشكل عام أكثر كفاءة.