كيفية حفظ pandas dataframe لاستخدامه لاحقًا (مع مثال)


في كثير من الأحيان قد ترغب في حفظ DataFrame الباندا لاستخدامها لاحقا دون الحاجة إلى إعادة استيراد البيانات من ملف CSV.

أسهل طريقة للقيام بذلك هي استخدام to_pickle() لحفظ DataFrame كملف مخلل:

 df. to_pickle (" my_data.pkl ")

سيؤدي هذا إلى حفظ DataFrame في بيئة العمل الحالية لديك.

يمكنك بعد ذلك استخدام read_pickle() لقراءة DataFrame من ملف المخلل بسرعة:

 df = pd. read_pickle (" my_data.pkl ")

يوضح المثال التالي كيفية استخدام هذه الوظائف عمليًا.

مثال: حفظ وتحميل Pandas DataFrame

لنفترض أننا أنشأنا DataFrame الباندا التالية التي تحتوي على معلومات حول فرق كرة السلة المختلفة:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print (df)

  team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12

يمكننا استخدام df.info() لعرض نوع البيانات لكل متغير في DataFrame:

 #view DataFrame info
print ( df.info ())

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 8 entries, 0 to 7
Data columns (total 4 columns):
 # Column Non-Null Count Dtype 
--- ------ -------------- ----- 
 0 team 8 non-null object
 1 point 8 non-null int64 
 2 assists 8 non-null int64 
 3 rebounds 8 non-null int64 
dtypes: int64(3), object(1)
memory usage: 292.0+ bytes
None

يمكننا استخدام الدالة to_pickle() لحفظ DataFrame هذا في ملف مخلل بامتداد .pkl :

 #save DataFrame to pickle file
df. to_pickle (" my_data.pkl ")

يتم الآن حفظ DataFrame الخاص بنا كملف مخلل في بيئة العمل الحالية لدينا.

يمكننا بعد ذلك استخدام الدالة read_pickle() لقراءة DataFrame بسرعة:

 #read DataFrame from pickle file
df=pd. read_pickle (" my_data.pkl ")

#view DataFrame
print (df)

team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12

يمكننا استخدام df.info() مرة أخرى للتأكد من أن نوع البيانات لكل عمود هو نفسه كما كان من قبل:

 #view DataFrame info
print ( df.info ())

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 8 entries, 0 to 7
Data columns (total 4 columns):
 # Column Non-Null Count Dtype 
--- ------ -------------- ----- 
 0 team 8 non-null object
 1 point 8 non-null int64 
 2 assists 8 non-null int64 
 3 rebounds 8 non-null int64 
dtypes: int64(3), object(1)
memory usage: 292.0+ bytes
None

تتمثل ميزة استخدام ملفات المخلل في الحفاظ على نوع البيانات لكل عمود عندما نقوم بحفظ DataFrame وتحميله.

يوفر هذا ميزة على حفظ وتحميل ملفات CSV لأننا لا نحتاج إلى إجراء أي تحويلات على DataFrame نظرًا لأن ملف الاختيار يحافظ على الحالة الأصلية لـ DataFrame.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية إصلاح الأخطاء الشائعة الأخرى في بايثون:

كيفية إصلاح KeyError في الباندا
كيفية الإصلاح: خطأ القيمة: غير قادر على تحويل float NaN إلى int
كيفية الإصلاح: خطأ في القيمة: لا يمكن بث المعاملات بالأشكال

Add a Comment

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