اذهب إلى المحتوى
  • 0

تحويل مصفوفة NumPy إلى قائمة List في Python؟

Fahmy Mostafa

السؤال

كيف أقوم بتحويل مصفوفة 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])]

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يمكن استخدام الدالة tolist لتحويل مصفوفة numpy إلى list :

np.array([[1,2,3],[1,2,3]]).tolist()

=>
[[1, 2, 3], [1, 2, 3]]

أو استخدم flatten :

list(a.flatten())

هذه الدالة تحول المصفوفة لمصفوفة من بعد واحد، ما يسمح بتحويلها لقائمة مباشرة

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

تستخدم الدالة 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]]

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

إذا كان هناك مصفوفة ثنائية البعد مثلاً أو أكثر يجب استخدام دالة لتحويلها ل مصفوفة أحادية البعد وكما في التعليقات السابقة تم استخدام الدالة flatten ولكن يمكننا استخدام الدالة ravel حيث تعتبر اسرع من الدالة flatten وترجع reference من المصفوفة الأصلية لذلك سيكون الحل كالتالي 

import numpy
lst = [[1,2,3], [4,5,6]]
newArray = numpy.array(lst)
newArray.ravel().tolist()

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...