إنشاء إطار بيانات من قاموس بمصفوفات ذات أطوال متفاوتة
يتمثل التحدي الذي يواجهنا في إنشاء إطار بيانات يحتوي على أعمدة تتكون من مصفوفة متفاوتة الطول القيم المستخرجة من القاموس. ولتحقيق ذلك، دعونا نستكشف حلاً باستخدام بايثون.
في بايثون 3.x وما فوق، يمكن استخدام مقتطف الكود التالي:
import pandas as pd import numpy as np # Define a dictionary with key-value pairs representing numpy arrays d = { "A": np.random.randn(10), "B": np.random.randn(12), "C": np.random.randn(8) } # Create a dataframe by converting each key-value pair to a series df = pd.DataFrame( dict([ (k, pd.Series(v)) for k, v in d.items() ]) ) # Display the resulting dataframe print(df)
يقوم هذا الكود بإنشاء إطار بيانات يحتوي على الأعمدة "A" و"B" و"C"، كل منها يحمل قيم صفيف numpy المقابلة من القاموس. إذا كانت المصفوفات ذات أطوال مختلفة، فإنها تتم محاذاتها تلقائيًا، مما يؤدي إلى توسيع المصفوفات الأقصر بقيم NaN كحشوة.
في Python 2.x، يلزم إجراء تعديل بسيط:
import pandas as pd import numpy as np # Define a dictionary with key-value pairs representing numpy arrays d = { "A": np.random.randn(10), "B": np.random.randn(12), "C": np.random.randn(8) } # Create a dataframe by converting each key-value pair to a series df = pd.DataFrame( dict([ (k, pd.Series(v)) for k, v in d.iteritems() ]) ) # Display the resulting dataframe print(df)
في Python 2.x، يتم استخدام الدالة iteritems() بدلاً من items() للتكرار على أزواج القيمة الرئيسية في القاموس.
باستخدام هذا الأسلوب، يمكنك بسهولة إنشاء إطارات بيانات تحتوي على أعمدة تحتوي على صفائف ذات أطوال مختلفة، مما يضمن محاذاة البيانات ومعالجتها بشكل صحيح.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3