الباندا: كيفية استخدام عامل () لترميز السلاسل كأرقام
يمكن استخدام الدالة Pandas Factorize() لتشفير السلاسل كقيم رقمية.
يمكنك استخدام الطرق التالية لتطبيق الدالة Factorize() على أعمدة pandas DataFrame:
الطريقة الأولى: تحليل عمود
df[' col1 '] = pd. factorize (df[' col '])[0]
الطريقة الثانية: تحليل أعمدة محددة
df[[' col1 ', ' col3 ']] = df[[' col1 ', ' col3 ']]. apply ( lambda x: pd.factorize (x)[ 0 ])
الطريقة الثالثة: تحليل كافة الأعمدة
df = df. apply ( lambda x: pd.factorize (x)[ 0 ])
يوضح المثال التالي كيفية استخدام كل طريقة مع الباندا DataFrame التالية:
import pandas as pd #createDataFrame df = pd. DataFrame ({' conf ': ['West', 'West', 'East', 'East'], ' team ': ['A', 'B', 'C', 'D'], ' position ': ['Guard', 'Forward', 'Guard', 'Center'] }) #view DataFrame df conf team position 0 West A Guard 1 West B Forward 2 East C Guard 3 East D Center
مثال 1: تحليل عمود
يوضح التعليمة البرمجية التالية كيفية تحليل عمود في DataFrame:
#factorize the conf column only df[' conf '] = pd. factorize (df[' conf '])[ 0 ] #view updated DataFrame df conf team position 0 0 A Guard 1 0 B Forward 2 1 C Guard 3 1 D Center
لاحظ أنه تم أخذ عمود “conf” فقط في الاعتبار.
كل قيمة كانت “غربًا” أصبحت الآن 0 وكل قيمة كانت “شرقًا” أصبحت الآن 1.
مثال 2: تحليل أعمدة محددة
يوضح التعليمة البرمجية التالية كيفية تحليل أعمدة معينة في DataFrame:
#factorize conf and team columns only df[[' conf ', ' team ']] = df[[' conf ', ' team ']]. apply ( lambda x: pd.factorize (x)[ 0 ]) #view updated DataFrame df conf team position 0 0 0 Guard 1 0 1 Forward 2 1 2 Guard 3 1 3 Center
لاحظ أن العمودين “conf” و”team” قد تم أخذهما في الاعتبار.
مثال 3: تحليل جميع الأعمدة
يوضح التعليمة البرمجية التالية كيفية تحليل كافة الأعمدة في DataFrame:
#factorize all columns df = df. apply ( lambda x: pd.factorize (x)[ 0 ]) #view updated DataFrame df conf team position 0 0 0 0 1 0 1 1 2 1 2 0 3 1 3 2
لاحظ أنه تم تحليل كافة الأعمدة.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في الباندا:
كيفية تحويل أعمدة Pandas DataFrame إلى سلاسل
كيفية تحويل متغير قاطع إلى رقمي في Pandas
كيفية تحويل أعمدة Pandas DataFrame إلى عدد صحيح