الباندا: قم بإنشاء dataframe من إملاء بأطوال مختلفة


يمكنك استخدام بناء الجملة الأساسي التالي لإنشاء pandas DataFrame من قاموس له أطوال مختلفة لإدخالاته:

 import pandas as pd

df = pd. DataFrame (dict([(key, pd. Series (value)) for key, value in some_dict. items ()]))

يقوم بناء الجملة هذا بتحويل قائمة صفائف القاموس إلى قائمة سلسلة الباندا.

يتيح لنا ذلك إنشاء DataFrame الباندا وملء قيم NaN للتأكد من أن كل عمود في DataFrame الناتج بنفس الطول.

يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.

مثال: قم بإنشاء Pandas DataFrame من إملاء بأطوال مختلفة

لنفترض أن لدينا القاموس التالي الذي يحتوي على إدخالات بأطوال مختلفة:

 #create dictionary whose entries have different lengths
some_dict = dict(A=[2, 5, 5, 7, 8], B=[9, 3], C=[4, 4, 2])

#view dictionary
print (some_dict)

{'A': [2, 5, 5, 7, 8], 'B': [9, 3], 'C': [4, 4, 2]}

إذا حاولنا استخدام الدالة from_dict() لتحويل هذا القاموس إلى إطار بيانات الباندا، فسوف نتلقى خطأ:

 import pandas as pd

#attempt to create pandas DataFrame from dictionary
df = pd. DataFrame . from_dict (some_dict)

ValueError : All arrays must be of the same length

نتلقى خطأ يخبرنا أن جميع المصفوفات في القاموس يجب أن تكون بنفس الطول.

للتغلب على هذا الخطأ، يمكننا استخدام بناء الجملة التالي لتحويل القاموس إلى DataFrame:

 import pandas as pd

#create pandas DataFrame from dictionary
df = pd. DataFrame (dict([(key, pd. Series (value)) for key, value in some_dict. items ()]))

#view DataFrame
print (df)

   ABC
0 2 9.0 4.0
1 5 3.0 4.0
2 5 NaN 2.0
3 7 NaN NaN
4 8 NaN NaN

لاحظ أننا قادرون على إنشاء DataFrame الباندا بنجاح ويتم تعبئة قيم NaN للتأكد من أن كل عمود بنفس الطول.

إذا كنت تريد استبدال قيم NaN هذه بقيم أخرى (مثل الصفر)، فيمكنك استخدام وظيفة الاستبدال () على النحو التالي:

 #replace all NaNs with zeros
df. replace (np. nan , 0, inplace= True )

#view updated DataFrame
print (df)

   ABC
0 2 9.0 4.0
1 5 3.0 4.0
2 5 0.0 2.0
3 7 0.0 0.0
4 8 0.0 0.0

لاحظ أنه تم استبدال كل قيمة NaN بصفر.

لا تتردد في استخدام وظيفة الاستبدال () لاستبدال قيم NaN بأي قيمة تريدها.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في الباندا:

الباندا: كيفية تحويل DataFrame إلى قاموس
الباندا: كيفية إعادة تسمية الأعمدة باستخدام القاموس
الباندا: كيفية ملء قيم NaN باستخدام القاموس

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *