البرمجة

تنفيذ ‘lateral view explode()’ في باندا

لتحقيق هذا الهدف بشكل أكثر فعالية في باندا، يمكنك استخدام الوظيفة explode التي تم تقديمها في إصدار باندا 0.25.0 وما بعده. هذه الوظيفة تنفجر (explode) القيم في قائمة لكل صف. ولكن، بما أنك تستخدم إصدارًا قديمًا من باندا، فيمكننا استخدام حلاً بديلًا يعتمد على تكرار الصفوف وفقًا لعناصر القوائم في العمود A.

اليك الكود البديل:

python
import pandas as pd # بناء DataFrame الأصلي df = pd.DataFrame({'A': [[1, 2], [5, 6]], 'B': [10, -20]}) # قائمة لتخزين الصفوف المكررة rows = [] # تكرار الصفوف وفقًا لعناصر القوائم في العمود A for index, row in df.iterrows(): for item in row['A']: new_row = row.copy() new_row['A'] = item rows.append(new_row) # بناء DataFrame جديد من الصفوف المكررة result = pd.DataFrame(rows, columns=df.columns) print(result)

هذا الكود يبني DataFrame جديدًا باستخدام قائمة rows لتخزين الصفوف المكررة. ثم، يكرر كل صف في الإطار الأصلي وفقًا لعناصر القوائم في العمود A، وينشئ صفًا جديدًا لكل عنصر يتم إضافته إلى rows. وأخيرًا، يقوم ببناء DataFrame جديد باستخدام الصفوف المكررة.

المزيد من المعلومات

بالطبع، هنا بعض المعلومات الإضافية حول كيفية تنفيذ الوظيفة explode في باندا إصدار 0.25.0 وما بعدها، وهي الطريقة الأكثر فعالية لتحقيق هدفك:

python
import pandas as pd # بناء DataFrame الأصلي df = pd.DataFrame({'A': [[1, 2], [5, 6]], 'B': [10, -20]}) # تنفيذ explode على العمود A result = df.explode('A') print(result)

هذا الكود يستخدم الوظيفة explode المدمجة في باندا لتنفيذ التحويل المطلوب. تعمل الوظيفة explode على تفجير (explode) القيم في القائمة لتوليد صفوف منفصلة لكل قيمة في القائمة.

مقالات ذات صلة

زر الذهاب إلى الأعلى

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!