Data Wrangling

تحويل أعمدة بيانات Pandas إلى سلاسل نصية بكفاءة

Spread the love

Pandas هي مكتبة قوية في Python لتلاعب البيانات وتحليلها. تحويل أعمدة DataFrame إلى سلاسل نصية هو مهمة شائعة، غالباً ما تكون ضرورية لتنسيق السلاسل النصية، أو دمجها، أو التوافق مع المكتبات الأخرى. تشرح هذه المقالة طريقتين فعالتين لهذا التحويل: باستخدام طريقة astype(str) وطريقة apply.

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

التحويل الفعال للسلاسل النصية باستخدام astype(str)

توفر طريقة astype(str) أبسط وأكثر الطرق فعالية لتحويل سلسلة Pandas (عمود) إلى سلاسل نصية. تقوم مباشرةً بصب نوع بيانات السلسلة بأكملها، مما يجعلها مثالية للبيانات المتجانسة. ومع ذلك، ستطرح خطأ إذا كان العمود يحتوي على قيم لا يمكن تحويلها مباشرة إلى سلاسل نصية (مثل أنواع بيانات مختلطة).


import pandas as pd

# DataFrame مثال
data = {'col1': [1, 2, 3], 'col2': [4.5, 5.6, 6.7], 'col3': ['a', 'b', 'c']}
df = pd.DataFrame(data)

# تحويل 'col1' إلى سلسلة نصية
df['col1'] = df['col1'].astype(str)

# طباعة DataFrame
print(df)

يقوم هذا الكود بتحويل القيم الصحيحة في ‘col1’ إلى تمثيلها النصي. تُعد إيجازية هذه الطريقة وأدائها مفيدين بشكل خاص عند العمل مع مجموعات بيانات كبيرة.

التحويل المرن للسلاسل النصية باستخدام طريقة apply

توفر طريقة apply مرونة أكبر، خاصة عند التعامل مع بيانات غير متجانسة أو عند الحاجة إلى منطق تحويل مخصص. تقوم بتطبيق دالة على كل عنصر على حدة، مما يسمح بالتعامل مع الأخطاء والتحويلات المعقدة.


import pandas as pd

# DataFrame مثال مع أنواع بيانات مختلطة
data = {'col1': [1, 2, 3, 'a', [1,2]], 'col2': [4.5, 5.6, 6.7, 'b']}
df = pd.DataFrame(data)

# دالة لتحويل إلى سلسلة نصية، مع التعامل مع الأخطاء المحتملة
def convert_to_string(x):
    try:
        return str(x)
    except:
        return "NA"

# تحويل 'col1' باستخدام apply
df['col1'] = df['col1'].apply(convert_to_string)

# طباعة DataFrame
print(df)

هنا، تقوم الدالة convert_to_string بالتعامل مع أخطاء التحويل المحتملة. إذا تعذر تحويل عنصر (مثل قائمة)، فإنه يُرجع “NA”. ثم تقوم طريقة apply بتطبيق هذه الدالة على كل عنصر، مما يضمن عمودًا نصيًا حتى مع وجود أنواع بيانات مختلطة. على الرغم من أنها أكثر قوة، إلا أن هذا النهج قد يكون أقل كفاءة من astype(str) بالنسبة لـ DataFrames كبيرة جدًا.

اختيار النهج الأمثل

بالنسبة للتحويلات البسيطة للبيانات المتجانسة، فإن astype(str) هي الطريقة الموصى بها نظرًا لكفاءتها. في السيناريوهات المعقدة مع البيانات غير المتجانسة، أو التعامل مع الأخطاء، أو التحويلات المخصصة، توفر طريقة apply المرونة اللازمة. يعتمد الخيار الأمثل على التوازن بين الأداء وتعقيد بياناتك ومتطلبات التحويل.

اترك تعليقاً

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