كيفية إنشاء المتغيرات الفئوية في الباندا (مع أمثلة)
يمكنك استخدام أي من الطرق التالية لإنشاء متغير فئوي في الباندا:
الطريقة الأولى: إنشاء متغير فئوي من البداية
df[' cat_variable '] = [' A ', ' B ', ' C ', ' D ']
الطريقة الثانية: إنشاء متغير فئوي من متغير رقمي موجود
df[' cat_variable '] = pd. cut (df[' numeric_variable '], bins=[ 0,15,25 ,float(' Inf ') ] , labels=[' Bad ', ' OK ', ' Good '])
توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا.
المثال 1: إنشاء متغير فئوي من الصفر
يوضح التعليمة البرمجية التالية كيفية إنشاء DataFrame الباندا مع متغير فئوي يسمى الفريق ومتغير رقمي يسمى النقاط :
import pandas as pd
#create DataFrame with one categorical variable and one numeric variable
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
' points ': [12, 15, 19, 22, 24, 25, 26, 30]})
#view DataFrame
print (df)
team points
0 to 12
1 B 15
2 C 19
3 D 22
4 E 24
5 F 25
6 G 26
7:30 a.m.
#view data type of each column in DataFrame
print ( df.dtypes )
team object
int64 dots
dtype:object
باستخدام df.dtypes يمكننا رؤية نوع البيانات لكل متغير في DataFrame.
نستطيع ان نرى:
- متغير الفريق هو كائن .
- متغير النقاط هو عدد صحيح .
في بايثون، الكائن يعادل حرفًا أو متغيرًا “فئويًا”. وبالتالي، فإن متغير الفريق هو متغير قاطع.
المثال 2: إنشاء متغير فئوي من متغير رقمي موجود
يوضح التعليمة البرمجية التالية كيفية إنشاء متغير فئوي يسمى الحالة من المتغير الرقمي الموجود الذي يسمى النقاط في DataFrame:
import pandas as pd
#create DataFrame with one categorical variable and one numeric variable
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
' points ': [12, 15, 19, 22, 24, 25, 26, 30]})
#create categorical variable 'status' based on existing numerical 'points' variable
df[' status '] = pd. cut (df[' points '],
bins=[ 0,15,25 ,float(' Inf ') ] ,
labels=[' Bad ', ' OK ', ' Good '])
#view updated DataFrame
print (df)
team points status
0 To 12 Bad
1 B 15 Bad
2 C 19 OK
3 D 22 OK
4 E 24 OK
5 F 25 OK
6 G 26 Good
7:30 a.m. Good
باستخدام الدالة Cut() ، أنشأنا متغيرًا فئويًا جديدًا يسمى الحالة والذي يأخذ القيم التالية:
- ” سيئ ” إذا كانت القيمة الموجودة في عمود النقاط أقل من أو تساوي 15.
- بخلاف ذلك، ” موافق ” إذا كانت القيمة في عمود النقاط أقل من أو تساوي 25.
- وإلا “” جيد “”
لاحظ أنه عند استخدام الدالة Cut() ، يجب أن يكون عدد الملصقات أقل من عدد الصناديق بدرجة واحدة .
في مثالنا، استخدمنا أربع قيم للمربعات لتحديد حواف المربعات وثلاث قيم للتسميات لتحديد التسميات التي سيتم استخدامها للمتغير الفئوي.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ مهام الباندا الشائعة الأخرى:
كيفية إنشاء متغيرات وهمية في الباندا
كيفية تحويل متغير قاطع إلى رقمي في Pandas
كيفية تحويل القيم المنطقية إلى قيم صحيحة في الباندا