"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية إنشاء إطار بيانات Pandas من قاموس بأطوال مصفوفة متفاوتة؟

كيفية إنشاء إطار بيانات Pandas من قاموس بأطوال مصفوفة متفاوتة؟

تم النشر بتاريخ 2024-11-09
تصفح:244

How to Create a Pandas DataFrame from a Dictionary with Varying Array Lengths?

إنشاء إطارات بيانات من قواميس ذات أطوال إدخال غير متساوية

في Python، من الممكن إنشاء DataFrame من قاموس حيث يحتوي كل إدخال على مصفوفة Numpy. ومع ذلك، تنشأ التحديات عندما تختلف أطوال المصفوفة بين الإدخالات. بشكل افتراضي، يتطلب Pandas مصفوفات ذات طول موحد، مما يؤدي إلى أخطاء مثل "ValueError: يجب أن تكون المصفوفات كلها بنفس الطول." في هذه المشكلة، يمكننا الاستفادة من قدرة Pandas على استخدام قيم NaN (Not-a-Number) كعناصر نائبة للبيانات المفقودة. من خلال الاستفادة من ذلك، يمكننا إنشاء DataFrame بشكل فعال مع أعمدة ذات أطوال مختلفة.

لتحقيق ذلك، يمكننا تحويل كل إدخال في القاموس إلى سلسلة Pandas، وهي مصفوفة أحادية البعد يمكنها التعامل بسلاسة مع القيم المفقودة. من خلال تغليف عناصر القاموس في تعبير منشئ واستخدام مُنشئ السلسلة، يمكننا إنشاء قاموس لكائنات السلسلة.استيراد الباندا كـ pd استيراد numpy كـ np # نموذج بيانات بأطوال مصفوفة غير متساوية البيانات = { 'أ': np.random.randn(5)، 'ب': np.random.randn(8)، 'ج': np.random.randn(4) } # تحويل عناصر القاموس إلى سلسلة series_dict = dict((k, pd.Series(v)) لـ k, v في data.items()) # إنشاء DataFrame من قاموس السلسلة df = pd.DataFrame(series_dict)

النتيجة:

في [1]: df خارج[1]: أ ب ج 0 1.162543 1.681243 0.191287 1 0.459621 -0.141198 -0.109864 2 -0.866704 -0.128677 -0.511496 3 1.222436 -0.371449 -0.705894 4 -0.980584 1.255133 نان 5 نان -0.351051 نان 6 نان 0.443017 نان 7 NaN -1.053693 NaN
import pandas as pd
import numpy as np

# Sample data with uneven array lengths
data = {
    'A': np.random.randn(5),
    'B': np.random.randn(8),
    'C': np.random.randn(4)
}

# Convert dictionary items to Series
series_dict = dict((k, pd.Series(v)) for k, v in data.items())

# Create DataFrame from the dictionary of Series
df = pd.DataFrame(series_dict)
كما هو واضح، يحتوي DataFrame على قيم مفقودة (NaN) حيث تختلف أطوال المصفوفة، مما يسمح لنا بإنشاء DataFrame بأطوال أعمدة مختلفة من قاموس بأطوال مصفوفة مختلفة.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3