الباندا: كيفية إنشاء عمود إذا لم يكن موجودا
يمكنك استخدام بناء الجملة الأساسي التالي لإنشاء عمود في pandas DataFrame إذا لم يكن موجودًا بالفعل:
df[' my_column '] = df. get (' my_column ', df[' col1 '] * df[' col2 '])
يقوم بناء الجملة هذا بإنشاء عمود جديد يسمى my_column إذا لم يكن موجودًا بالفعل في DataFrame ويتم تعريفه على أنه حاصل ضرب العمودين الموجودين col1 و col2 .
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: قم بإنشاء عمود في Pandas إذا لم يكن موجودًا
لنفترض أن لدينا DataFrame الباندا التالية:
import pandas as pd #createDataFrame df = pd. DataFrame ({' day ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], ' sales ': [4, 6, 5, 8, 14, 13, 13, 12, 9, 8, 19, 14], ' price ': [1, 2, 2, 1, 2, 4, 4, 3, 3, 2, 2, 3]}) #view DataFrame print (df) day sales price 0 1 4 1 1 2 6 2 2 3 5 2 3 4 8 1 4 5 14 2 5 6 13 4 6 7 13 4 7 8 12 3 8 9 9 3 9 10 8 2 10 11 19 2 11 12 14 3
لنفترض الآن أننا نحاول إضافة عمود يسمى السعر إذا لم يكن موجودًا بالفعل ونحدده كعمود حيث تكون كل قيمة 100:
#attempt to add column called 'price'
df[' price '] = df. get (' price ', 100)
#view updated DataFrame
print (df)
day sales price
0 1 4 1
1 2 6 2
2 3 5 2
3 4 8 1
4 5 14 2
5 6 13 4
6 7 13 4
7 8 12 3
8 9 9 3
9 10 8 2
10 11 19 2
11 12 14 3
نظرًا لوجود عمود يسمى السعر بالفعل، فإن الباندا ببساطة لا تضيفه إلى DataFrame.
ومع ذلك، لنفترض أننا نحاول إضافة عمود جديد يسمى الإيرادات إذا لم يكن موجودًا بالفعل وتعريفه كعمود تكون فيه القيم حاصل ضرب عمودي المبيعات والسعر:
#attempt to add column called 'revenue'
df[' revenue '] = df. get (' revenue ', df[' sales '] * df[' price '])
#view updated DataFrame
print (df)
day sales price revenue
0 1 4 1 4
1 2 6 2 12
2 3 5 2 10
3 4 8 1 8
4 5 14 2 28
5 6 13 4 52
6 7 13 4 52
7 8 12 3 36
8 9 9 3 27
9 10 8 2 16
10 11 19 2 38
11 12 14 3 42
تتم إضافة عمود الإيرادات هذا إلى DataFrame لأنه لم يكن موجودًا بالفعل.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في الباندا:
كيفية حذف الصفوف في Pandas DataFrame بناءً على الحالة
كيفية تصفية Pandas DataFrame بشروط متعددة
كيفية استخدام مرشح “NOT IN” في Pandas DataFrame