Fahmy Mostafa نشر 30 يوليو 2021 أرسل تقرير نشر 30 يوليو 2021 كيف أقوم بتحويل مصفوفة NumPy إلى قائمة List في Python على سبيل المثال: import numpy lst = [[1,2,3], [4,5,6]] newArray = numpy.array(lst) print(newArray) """ Output: [[1 2 3] [4 5 6]] """ الآن كيف يمكنني تحويل newArray إلى قائمة List مرة أخرى؟ حاولت أن أستعمل الدالة list ولكن يبدو أنها تحول كل صف إلى مصفوفة Numpy array: >>> list(newArray) [array([1, 2, 3]), array([4, 5, 6])] 1 اقتباس
0 Wael Aljamal نشر 30 يوليو 2021 أرسل تقرير نشر 30 يوليو 2021 يمكن استخدام الدالة tolist لتحويل مصفوفة numpy إلى list : np.array([[1,2,3],[1,2,3]]).tolist() => [[1, 2, 3], [1, 2, 3]] أو استخدم flatten : list(a.flatten()) هذه الدالة تحول المصفوفة لمصفوفة من بعد واحد، ما يسمح بتحويلها لقائمة مباشرة 1 اقتباس
0 Ahmed Sharshar نشر 30 يوليو 2021 أرسل تقرير نشر 30 يوليو 2021 تستخدم الدالة tolist من اجل تحويل المصفوفة في هيئة numpy الي list، انظر المثال التالي لتحويل مصفوفة احادية الي list: a = np.uint32([1, 2]) a_list = list(a) a_list >>[1, 2] type(a_list[0]) >><class 'numpy.uint32'> a_tolist = a.tolist() a_tolist >>[1, 2] type(a_tolist[0]) >><class 'int'> كذلك تستخدم tolist لتحويل مصفوفات ثناية الأبعاد مثل المثال التالي: a = np.array([[1, 2], [3, 4]]) list(a) >> [array([1, 2]), array([3, 4])] a.tolist() >> [[1, 2], [3, 4]] 1 اقتباس
0 عبدالباسط ابراهيم نشر 30 يوليو 2021 أرسل تقرير نشر 30 يوليو 2021 إذا كان هناك مصفوفة ثنائية البعد مثلاً أو أكثر يجب استخدام دالة لتحويلها ل مصفوفة أحادية البعد وكما في التعليقات السابقة تم استخدام الدالة flatten ولكن يمكننا استخدام الدالة ravel حيث تعتبر اسرع من الدالة flatten وترجع reference من المصفوفة الأصلية لذلك سيكون الحل كالتالي import numpy lst = [[1,2,3], [4,5,6]] newArray = numpy.array(lst) newArray.ravel().tolist() 1 اقتباس
السؤال
Fahmy Mostafa
كيف أقوم بتحويل مصفوفة NumPy إلى قائمة List في Python على سبيل المثال:
الآن كيف يمكنني تحويل newArray إلى قائمة List مرة أخرى؟ حاولت أن أستعمل الدالة list ولكن يبدو أنها تحول كل صف إلى مصفوفة Numpy array:
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.