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

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

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

How to Construct Pandas DataFrames from Dictionaries with Uneven Array Lengths?

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

يتطلب التعامل مع القواميس ذات مصفوفات ذات أطوال غير متساوية في Pandas نهجًا مخصصًا. عند محاولة إنشاء DataFrame بحيث يمثل كل عمود مصفوفة داخل القاموس، قد يواجه المرء خطأ ValueError: "يجب أن تكون جميع المصفوفات بنفس الطول."

الاستفادة من كائنات السلسلة

للتحايل على هذا في هذه المشكلة، فإننا نستفيد من كائنات سلسلة Pandas التي يمكنها الاحتفاظ بمصفوفات ذات أطوال مختلفة. من خلال تحويل كل قيمة قاموس إلى سلسلة، يمكننا تخزين المصفوفات بشكل فعال بغض النظر عن أطوالها. يوضح مقتطف التعليمات البرمجية التالي هذا الأسلوب:

import pandas as pd
import numpy as np

# Sample data generated via a reproducible seed
np.random.seed(2023)
data = {k: np.random.randn(v) for k, v in zip("ABCDEF", [10, 12, 15, 17, 20, 23])}

# Convert dictionary values to Series objects
series_dict = {k: pd.Series(v) for k, v in data.items()}

# Create DataFrame using these Series objects
df = pd.DataFrame(series_dict)

الحفاظ على القيم المفقودة

عند العمل مع صفائف ذات أطوال مختلفة، من الشائع مواجهة قيم مفقودة حيث لا تستطيع المصفوفات الأقصر ملء الخلايا المتبقية. افتراضيًا، يقوم Pandas بملء هذه الفجوات بقيم NaN (ليس رقمًا). يحافظ هذا السلوك على البيانات الأصلية مع توفير بنية متسقة للتحليل.

تكوين معالجة القيمة المفقودة

إذا رغبت في ذلك، يمكنك تخصيص معالجة القيم المفقودة باستخدام معلمة القيم المفقودة في DataFrame ( ) منشئ. على سبيل المثال، لاستبدال القيم المفقودة بالأصفار بدلاً من NaN، يمكنك تحديد Missing_values=0 كما هو موضح أدناه:

df = pd.DataFrame(series_dict, missing_values=0)

Example Output

يوضح الناتج التالي DataFrame الذي تم إنشاؤه باستخدام الطريقة الموضحة أعلاه:

print(df)
      A         B         C         D         E         F
0  0.711674 -1.076522 -1.502178 -1.519748  0.340619  0.051132
1 -0.324485 -0.325682 -1.379593  2.097329 -1.253501 -0.238061
2 -1.001871 -1.035498 -0.204455  0.892562  0.370788 -0.208009
3  0.236251 -0.426320  0.642125  1.596488  0.455254  0.401304
4 -0.102160 -1.029361 -0.181176 -0.638762 -2.283720  0.183169
...       ...       ...       ...       ...       ...       ...
18       NaN       NaN       NaN       NaN       NaN       NaN
19       NaN       NaN       NaN       NaN       NaN       NaN
20       NaN       NaN       NaN       NaN       NaN       NaN
21       NaN       NaN       NaN       NaN       NaN       NaN
22       NaN       NaN       NaN       NaN       NaN       NaN
23 rows × 6 columns

كما يمكنك ملاحظة، تؤدي المصفوفات الأقصر إلى قيم NaN في الخلايا المقابلة، مما يوفر تمثيلاً شاملاً لبياناتك مع الحفاظ على التنسيق الجدولي المطلوب.

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

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

Copyright© 2022 湘ICP备2022001581号-3