استخراج ومعالجة عناوين أعمدة إطار بيانات Pandas
تُعد مكتبة Pandas، وهي ركيزة أساسية في نظام بيئة علوم البيانات في Python، توفر طرقًا سلسة للتفاعل مع عناوين أعمدة إطار البيانات. يقدم هذا الدليل تقنيات متنوعة لاستخراج ومعالجة هذه العناوين، بما يلبي كل من الهياكل ذات المستوى الواحد والهياكل متعددة المستويات للأعمدة.
جدول المحتويات
- الوصول إلى عناوين المستوى الواحد
- معالجة الأعمدة متعددة الفهارس
- التطبيقات العملية
- معالجة الأخطاء والمتانة
- تقنيات متقدمة (للمستخدمين ذوي الخبرة)
الوصول إلى عناوين المستوى الواحد
بالنسبة لإطارات البيانات ذات مستوى واحد من عناوين الأعمدة، يكون الوصول إليها مباشرًا. تعيد الخاصية .columns
كائن Pandas Index، الذي يعمل مثل مصفوفة مُسمّاة. التحويل المباشر لهذا إلى قائمة أمر بسيط باستخدام دالة list()
المُدمجة.
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 28],
'City': ['New York', 'London', 'Paris']}
df = pd.DataFrame(data)
# الوصول إلى العناوين كـ Pandas Index
headers_index = df.columns
# التحويل إلى قائمة Python
headers_list = list(df.columns)
print("العناوين كـ Index:", headers_index)
print("العناوين كـ قائمة:", headers_list)
معالجة الأعمدة متعددة الفهارس
عند التعامل مع إطارات البيانات التي تمتلك أعمدة متعددة الفهارس (تنظيم هرمي للأعمدة)، يتطلب استرجاع العناوين نهجًا أكثر دقة. لا تزال الخاصية .columns
تعيد كائن Pandas Index، لكن هذا الفهرس أصبح الآن متعدد الطبقات. يصبح كل عنصر في التمثيل القائم على القائمة عبارة عن مجموعة تُعكس المستويات الهرمية.
# إطار بيانات نموذجي بأعمدة متعددة الفهارس
data2 = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 28],
'City': ['New York', 'London', 'Paris']}
df2 = pd.DataFrame(data2)
df2 = df2.set_index(['Name', 'Age']) #إنشاء مؤشر متعدد
multiindex_headers = df2.columns
multiindex_list = list(multiindex_headers)
print("عناوين المؤشر المتعدد كقائمة:", multiindex_list)
# الوصول إلى المستويات الفردية
level_0 = [col[0] for col in multiindex_list] #الوصول إلى المستوى الأول
print("المستوى 0:", level_0)
# تسطيح قائمة المؤشر المتعدد
import itertools
flattened_list = list(itertools.chain(*multiindex_list))
print("القائمة المسطحة:", flattened_list)
التطبيقات العملية
يجد استخراج عناوين الأعمدة فائدة في العديد من مهام معالجة البيانات، بما في ذلك:
- إنشاء عناوين تقارير أو تسميات ديناميكيًا.
- إنشاء تصورات بيانات مخصصة مع محاور مُسمّاة.
- أداء عمليات أعمدة انتقائية بناءً على أسماء العناوين.
- تسهيل تنظيف البيانات أو المعالجة المسبقة بناءً على معلومات العنوان.
معالجة الأخطاء والمتانة
ضع دائمًا في اعتبارك السيناريوهات التي قد يكون فيها إطار البيانات فارغًا أو يحتوي على هياكل أعمدة غير متوقعة. إن إضافة عمليات تحقق لهذه الحالات تُعزز متانة التعليمات البرمجية الخاصة بك:
if not df.empty:
headers = list(df.columns)
# المتابعة مع المعالجة الإضافية باستخدام 'headers'
else:
print("إطار البيانات فارغ!")
تقنيات متقدمة (للمستخدمين ذوي الخبرة)
بالنسبة لهياكل الأعمدة الأكثر تعقيدًا أو معالجات العناوين المُخصصة، ضع في اعتبارك استخدام وظائف Pandas المتقدمة مثل:
df.columns.tolist()
: طريقة أكثر إيجازًا للتحويل إلى قائمة.df.columns.map(lambda x: x.lower())
: تطبيق عمليات السلسلة لتعديل أسماء العناوين.df.rename(columns={'old_name': 'new_name'})
: تغيير أسماء الأعمدة بشكل منهجي.