الباندا: استيراد ملف csv بعدد مختلف من الأعمدة لكل صف


يمكنك استخدام بناء الجملة الأساسي التالي لاستيراد ملف CSV إلى الباندا عندما يكون هناك عدد مختلف من الأعمدة في كل صف:

 df = pd. read_csv (' uneven_data.csv ', header= None , names=range( 4 ))

يجب أن تكون القيمة الموجودة داخل الدالة range() هي عدد الأعمدة في الصف مع الحد الأقصى لعدد الأعمدة.

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

مثال: استيراد ملف CSV إلى Pandas بعدد مختلف من الأعمدة لكل صف

لنفترض أن لدينا ملف CSV التالي المسمى uneven_data.csv :

لاحظ أن كل صف لا يحتوي على نفس عدد الأعمدة.

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

 import pandas as pd

#attempt to import CSV file with differing number of columns per row
df = pd. read_csv (' uneven_data.csv ', header= None )

ParserError: Error tokenizing data. C error: Expected 2 fields in line 2, saw 4

نتلقى خطأ ParserError يخبرنا أن الباندا كانت تتوقع حقلين (نظرًا لأن هذا كان عدد الأعمدة في الصف الأول) ولكنها رأت 4 .

يخبرنا هذا الخطأ أن الحد الأقصى لعدد الأعمدة في صف معين هو 4 .

لذلك، يمكننا استيراد ملف CSV وتوفير قيمة النطاق (4) إلى وسيطة الأسماء :

 import pandas as pd

#import CSV file with differing number of columns per row
df = pd. read_csv (' uneven_data.csv ', header= None , names=range( 4 )))

#view DataFrame
print (df)

   0 1 2 3
0 to 22 NaN NaN
1 B 16 10.0 12.0
2 C 25 10.0 NaN
3 D 14 2.0 7.0
4 E 20 4.0 NaN

لاحظ أننا قادرون على استيراد ملف CSV بنجاح إلى pandas DataFrame دون أي أخطاء لأننا أخبرنا صراحةً الباندا أن تتوقع 4 أعمدة.

افتراضيًا، تملأ الباندا جميع القيم المفقودة في كل صف باستخدام NaN.

إذا كنت تريد أن تظهر القيم المفقودة كصفر، يمكنك استخدام الدالة fillna() كما يلي:

 #fill NaN values with zeros
df_new = df. fillna ( 0 )

#view new DataFrame
print (df_new)

   0 1 2 3
0 to 22 0.0 0.0
1 B 16 10.0 12.0
2 C 25 10.0 0.0
3 D 14 2.0 7.0
4 E 20 4.0 0.0

تم الآن استبدال كل قيمة NaN في DataFrame بصفر.

ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة Pandas read_csv() هنا .

مصادر إضافية

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

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

Add a Comment

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