Fahmy Mostafa نشر 23 يونيو 2021 أرسل تقرير نشر 23 يونيو 2021 لدي DataFrame بإستخدام مكتبة Pandas كالتالي: DataFrame([ {'var1': 'a', 'var2': 1}, {'var1': 'b', 'var2': 1}, {'var1': 'c', 'var2': 1}, {'var1': 'd', 'var2': 2}, {'var1': 'e', 'var2': 2}, {'var1': 'f', 'var2': 2} ]) كيف يمكنني أن أحول إطار البيانات هذا إلى مصفوفة في مكتبة Numpy؟ 2 اقتباس
0 عبدالباسط ابراهيم نشر 23 يونيو 2021 أرسل تقرير نشر 23 يونيو 2021 يمكنك استخدام الدالة to_numpy() وهذه الدالة تقوم باسترجاع الناتج كالتالي DataFrame([ {'var1': 'a', 'var2': 1}, {'var1': 'b', 'var2': 1}, {'var1': 'c', 'var2': 1}, {'var1': 'd', 'var2': 2}, {'var1': 'e', 'var2': 2}, {'var1': 'f', 'var2': 2} ]).to_numpy() 1 اقتباس
1 عبدالله عبدالرحمن11 نشر 23 يونيو 2021 أرسل تقرير نشر 23 يونيو 2021 من DataFrame الى مصفوفة NumPy في المثال الآتي نقوم بتحويل DataFrame الى مصفوفة NumPy import pandas as pd #تهيئة #DataFrame df = pd.DataFrame( [[21, 72, 67], [23, 78, 69], [32, 74, 56], [52, 54, 76]], columns=['a', 'b', 'c']) print('DataFrame\n----------\n', df) #التحويل arr = df.to_numpy() print('\nNumpy Array\n----------\n', arr) وللتحويل من DataFrame الى مصفوفة NumPy عندما يكون لدى DataFrame أنواع بيانات مختلفة import pandas as pd import numpy as np #تهيئة # dataframe df = pd.DataFrame( [[21, 72, 67.1], [23, 78, 69.5], [32, 74, 56.6], [52, 54, 76.2]], columns=['a', 'b', 'c']) print('DataFrame\n----------\n', df) print('\nDataFrame datatypes :\n', df.dtypes) #التحويل arr = df.to_numpy() print('\nNumpy Array\n----------\n', arr) print('\nNumpy Array Datatype :', arr.dtype) 1 اقتباس
0 ريم المهدي نشر 23 يونيو 2021 أرسل تقرير نشر 23 يونيو 2021 يمكننا أن نحول dataframe إلى مصفوفة عن طريق إستخدام .values أيضاً إذ أنها تخرج الناتج في شكل مصفوفة كما هو موضح في المثال التالي: import numpy as np import pandas as pd df = pd.DataFrame([ {'var1': 'a', 'var2': 1}, {'var1': 'b', 'var2': 1}, {'var1': 'c', 'var2': 1}, {'var1': 'd', 'var2': 2}, {'var1': 'e', 'var2': 2}, {'var1': 'f', 'var2': 2}]) df.values أو يمكننا الحصول على البيانات كاملة بالإضافة لindex بإضافة الدالة reset_index() وتصبح الدالة كالتالي: df.reset_index().values كما يمكننا الحصول على البيانات بالindex أيضاً بإستخدام الدالة to_records() كالتالي: df.to_records() لكن بالطبع التحويل بإستخدام الدالة المخصصة لذلك هي أفضل مثلما هو موضح في الإجابتين السابقتين و ذلك لتفادي أي أخطاء قد تنتج. كما يمكننا الحصول على مصفوفة بإستخدام الدالة asarray التي تستقبل dataframe كمدخل و ترجع مصفوفة البيانات أو إستخدام الدالة array التي تقوم بنفس العملية، البرنامج التالي يوضح طريقة إستخدام الدالتين: np.asarray(df) np.array(df) 1 اقتباس
0 Yacine Marouf نشر 23 يونيو 2021 أرسل تقرير نشر 23 يونيو 2021 import pandas as pd DataFrame = pd.DataFrame([ {'var1': 'a', 'var2': 1}, {'var1': 'b', 'var2': 1}, {'var1': 'c', 'var2': 1}, {'var1': 'd', 'var2': 2}, {'var1': 'e', 'var2': 2}, {'var1': 'f', 'var2': 2} ]) print(DataFrame.to_numpy()) ## Output # [['a' 1] # ['b' 1] # ['c' 1] # ['d' 2] # ['e' 2] # ['f' 2]] اقتباس
0 Ali Haidar Ahmad نشر 19 أغسطس 2021 أرسل تقرير نشر 19 أغسطس 2021 إضافة إلى الطرق المذكورة أعلاه، فإن الحل الأسهل هو استخدام الدالة asarray : import pandas as pd import numpy as np df=pd.DataFrame({"A": [1, 2], "B": [3, 4]}) np.asarray(df) """ array([[1, 3], [2, 4]]) """ أو من خلال np.array وبسهولة: import pandas as pd import six import numpy as np df=pd.DataFrame({"A": [1, 2], "B": [3, 4]}) np.array(df) """ array([[1, 3], [2, 4]]) """ ,وهنا مقارنة بين الثلاث طرق الرئيسية للتحويل: %time np.array(df) %time df.to_numpy() %time np.asarray(df) """ CPU times: user 105 µs, sys: 7 µs, total: 112 µs Wall time: 117 µs CPU times: user 59 µs, sys: 0 ns, total: 59 µs Wall time: 62.2 µs CPU times: user 79 µs, sys: 0 ns, total: 79 µs Wall time: 84.4 µs """ اقتباس
السؤال
Fahmy Mostafa
لدي DataFrame بإستخدام مكتبة Pandas كالتالي:
كيف يمكنني أن أحول إطار البيانات هذا إلى مصفوفة في مكتبة Numpy؟
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.