Ali Ahmed55 نشر 25 فبراير أرسل تقرير نشر 25 فبراير السلام عليكم ده الكود split_index = [0 if x in x_dev.index else -1 for x in x_train.index] 2 اقتباس
0 Mustafa Suleiman نشر 25 فبراير أرسل تقرير نشر 25 فبراير الأفضل الإعتماد على دوال pandas/numpy المدمجة بدلاً من list comprehension كالتالي: split_index = np.where(x_train.index.isin(x_dev.index), 0, -1) وذلك للاستفادة من vectorization في numpy/pandas بدلاً من loop صريح وأيضًا استخدام isin() المدمجة التي تعمل بشكل أسرع مع pandas Index، وسيقوم بالعملية في خطوة واحدة. وتقليل التعقيد الزمني من O(n*m) إلى O(n) حيث n حجم x_train و m حجم x_dev وتجنب التحقق العنصر بعنصر باستخدام عمليات مصفوفات مخصصة. بالتالي سيعمل بشكل جيد جدًا مع pandas Index/Series وذلك لو ستتعامل مع أعداد كبيرة من البيانات. 1 اقتباس
0 محمد عاطف17 نشر 25 فبراير أرسل تقرير نشر 25 فبراير وعليكم السلام ورحمة الله وبركاته. إذا كانت البيانات التي تعمل عليها قليلة فلابئس بهذا الكود . أما إذا كنت تتعامل مع بيانات كبيرة جدا فنعم يمكنك تحسينه والأفضل إستخدام الدوال التي توفرها numpy و pandas حيث أنها تعمل بكفائة أكثر في البيانات الكبيرة. يمكنك استخدام np.where وأيضا يمكنك استخدام isin من pandas للتحقق من وجود العناصر في x_dev.index بشكل أكثر كفاءة. import numpy as np split_index = np.where(x_train.index.isin(x_dev.index), 0, -1) وإليك شرح حول np.where : وإليك التوثيق الرسمي لدالة isin : https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.isin.html وكما وضحت لك هذا الكود أفضل إذا كانت البيانات كبيرة جدا لديك. 1 اقتباس
0 Ali Ahmed55 نشر 25 فبراير الكاتب أرسل تقرير نشر 25 فبراير طيب اي الفرق مابين الpandas.isin و بين numpy.isin ؟ اقتباس
0 Mustafa Suleiman نشر 25 فبراير أرسل تقرير نشر 25 فبراير بتاريخ 5 دقائق مضت قال Ali Ahmed55: طيب اي الفرق مابين الpandas.isin و بين numpy.isin ؟ pandas.isin تدعم أنواع بيانات متعددة ومختلطة وتتعامل مع البيانات المفقودة NaN, None وتدعم الفهارس Index والتسميات labels. أما numpy.isin تعمل بشكل أفضل مع الأنواع المتجانسة من البيانات ولا تتعامل جيداً مع البيانات المفقودة وتتعامل مع المصفوفات البسيطة فقط 1 اقتباس
0 Ali Ahmed55 نشر 25 فبراير الكاتب أرسل تقرير نشر 25 فبراير تمام جدا الف شكراا جدا لحضرتكم جزاكم الله كل خير اقتباس
السؤال
Ali Ahmed55
السلام عليكم
ده الكود
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.