كيفية تغيير نوع العمود في الباندا (مع أمثلة)
يمكن أن تأخذ أعمدة Pandas DataFrame أحد الأنواع التالية:
- كائن (سلاسل)
- int64 (الأعداد الصحيحة)
- float64 (القيم الرقمية مع الكسور العشرية)
- منطقي (قيم صحيحة أو خاطئة)
- datetime64 (التواريخ والأوقات)
أسهل طريقة لتحويل عمود من نوع بيانات إلى آخر هي استخدام الدالة astype() .
يمكنك استخدام الطرق التالية مع الدالة astype() لتحويل الأعمدة من نوع بيانات إلى آخر:
الأسلوب 1: تحويل عمود إلى نوع بيانات آخر
df[' col1 '] = df[' col1 ']. astype (' int64 ')
الطريقة الثانية: تحويل أعمدة متعددة إلى نوع بيانات آخر
df[[' col1 ', ' col2 ']] = df[[' col1 ', ' col2 ']]. astype (' int64 ')
الطريقة الثالثة: تحويل كافة الأعمدة إلى نوع بيانات آخر
df = df. astype (' int64 ')
توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا مع الباندا DataFrame التالية:
import pandas as pd #createDataFrame df = pd. DataFrame ({' ID ': ['1', '2', '3', '4', '5', '6'], ' tenure ': [12.443, 15.8, 16.009, 5.06, 11.075, 12.9546], ' sales ': [5, 7, 7, 9, 12, 9]}) #view DataFrame print (df) ID tenure sales 0 1 12.4430 5 1 2 15.8000 7 2 3 16.0090 7 3 4 5.0600 9 4 5 11.0750 12 5 6 12.9546 9 #view data type of each column print ( df.dtypes ) object ID tenure float64 dirty int64 dtype:object
مثال 1: تحويل عمود إلى نوع بيانات آخر
يوضح التعليمة البرمجية التالية كيفية استخدام الدالة astype() لتحويل عمود الحيازة من عدد عشري إلى عدد صحيح:
#convert tenure column to int64
df[' tenure '] = df[' tenure ']. astype (' int64 ')
#view updated data type for each column
print ( df.dtypes )
object ID
tenure int64
dirty int64
dtype:object
لاحظ أنه تم تحويل عمود الحيازة إلى int64 بينما احتفظت جميع الأعمدة الأخرى بأنواع بياناتها الأصلية.
المثال 2: تحويل أعمدة متعددة إلى نوع بيانات آخر
يوضح التعليمة البرمجية التالية كيفية استخدام الدالة astype() لتحويل أعمدة المعرف والحيازة إلى أعداد صحيحة:
#convert ID and tenure columns to int64
df[[' ID ', ' tenure ']] = df[[' ID ', ' tenure ']]. astype (' int64 ')
#view updated data type for each column
print ( df.dtypes )
ID int64
tenure int64
dirty int64
dtype:object
لاحظ أنه تم تحويل أعمدة المعرف والحيازة إلى int64.
المثال 3: تحويل كافة الأعمدة إلى نوع بيانات آخر
يوضح التعليمة البرمجية التالية كيفية استخدام الدالة astype() لتحويل كافة الأعمدة في DataFrame إلى نوع بيانات صحيح:
#convert all columns to int64
df = df. astype (' int64 ')
#view updated data type for each column
print ( df.dtypes )
ID int64
tenure int64
dirty int64
dtype:object
لاحظ أنه تم تحويل كافة الأعمدة إلى int64.
ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة pandas astype() هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية إجراء تحويلات شائعة أخرى في الباندا:
كيفية تحويل أعمدة Pandas DataFrame إلى سلاسل
كيفية تحويل الطابع الزمني إلى التاريخ/الوقت في Pandas
كيفية تحويل DateTime إلى تاريخ في Pandas
كيفية تحويل السلاسل إلى تعويم في الباندا