الجمعة، 27 ديسمبر 2024

دالة ()dataframe.insert في باندا – دليل كامل

 في هذه المقالة، سنرى دالة dataframe.insert() من Pandas. تُستخدم هذه الدالة في تقنيات تحويل الأعمدة. لذا، دعنا ننتقل مباشرة إلى هذه الدالة!


تعتبر مكتبة Pandas واحدة من أهم المكتبات التي تجمع البيانات وتمثلها للمستخدم. تم بناء هذه الواجهة البرمجية على مكتبات matplotlib وNumPy مما يدل على أنها مصنوعة بلغة Python فقط. من قراءة مجموعات البيانات المعقدة والضخمة إلى تنفيذ التحليل الإحصائي عليها، تعد هذه الحزمة سهلة التعلم والاستخدام للغاية.

ما هو إطار البيانات؟

إن مفهوم إطار البيانات ليس جديدًا لمستخدمي Pandas. فهو عبارة عن مجموعة من الصفوف والأعمدة التي تمثل البيانات في شكل جدولي. تمامًا مثل الإطار العادي، ولكن يمكننا تعديل كل خلية من الجدول باستخدام بعض أسطر التعليمات البرمجية. وهذا يوفر الكثير من وقت العمل حيث لا نحتاج إلى البحث عن هذا العنصر في الجدول بأكمله.

سننشئ مجموعة بيانات نموذجية ثم ننتقل إلى التنفيذ الإضافي. لإنشاء مجموعة بيانات نموذجية، يجب توفير قاموس يحتوي على أعمدة في شكل مفاتيح وصفوف في شكل قيم.

1
2
3
4
5
6
7
8
import pandas as pd
  
data_dict = {'Name':['Ramesh', 'Suresh', 'Rajeev', 'Neha', 'Aditi'],
                    'Roll_nos':[1, 2, 3, 4, 5],
                    'Division':['A', 'B', 'C', 'D', 'E'] }
  
data = pd.DataFrame(data_dict)
data

الناتج:

إنشاء إطار بيانات نموذجي

الآن بعد أن أصبحنا جاهزين بمجموعة البيانات الأساسية الخاصة بنا، دعونا نستعيد بعض المعلومات عنها.

الوصول إلى المعلومات الأساسية من إطارات بيانات Pandas

1
2
data.columns
data.info()

الناتج:

معلومات أساسية عن إطار البيانات

استخدام دالة dataframe.insert لإضافة عمود

نتجه نحو إدراج الأعمدة في إطار البيانات الخاص بنا. وظيفة الإدراج مخصصة لوضع أي عمود بقيمه صراحةً. توثيق ذلك هو كما يلي:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Signature: data.insert(loc, column, value, allow_duplicates=False) -> None
Docstring:
Insert column into DataFrame at specified location.
  
Raises a ValueError if `column` is already contained in the DataFrame,
unless `allow_duplicates` is set to True.
  
Parameters
----------
loc : int
    Insertion index. Must verify 0 <= loc <= len(columns).
column : str, number, or hashable object
    Label of the inserted column.
value : int, Series, or array-like
allow_duplicates : bool, optional
File:      c:\users\lenovo\anaconda3\lib\site-packages\pandas\core\frame.py
Type:      method

تتمتع هذه الدالة ببنية نحوية بسيطة للغاية:

1
data.insert(loc, column, value, allow_duplicates = False)

توضيح:

  • loc = موقع الفهرس لإطار البيانات حيث نريد إدراج العمود.
  • العمود = اسم العمود الذي نريد إدراجه
  • القيمة = كل القيم التي يحتويها العمود
  • allow_duplicates = هذه الخاصية مخصصة لوضع الأعمدة المكررة في إطار البيانات

طرق استخدام dataframe.insert

هناك طريقتان لاستخدام هذه الدالة.

  1. استدعاء الدالة بشكل مباشر وإعطاء كافة المعلمات لها.
  2. استخدام نهج وظيفي (موصى به)

استدعاء دالة dataframe.insert مباشرةً

في هذا المثال، سنضيف عمودًا إلى إطار البيانات الخاص بنا عن طريق استدعائه مباشرةً. إنها قاعدة بيانات طلابية، لذا سنحاول إضافة أعمدة العلامات فيها.

1
2
3
mrk_list = [90.00, 60.06, 72.32, 78.9, 83.9] # creating a list of values for the Marks column
data.insert(3, 'Marks', mrk_list) # using the isnert function
data # calling the dataframe
تمت إضافة عمود العلامة إلى إطار البيانات

شرح:

  • نقوم بإنشاء قائمة تسمى “mrk_list” لجميع القيم الخاصة بعمود “العلامات” الجديد. وسوف تكون هذه القائمة مخصصة لمعلمة القيم.
  • ثم نستدعي الدالة insert() باستخدام عامل النقطة – “.” مع إطار البيانات الخاص بنا. ثم نعين موقع العمود الجديد في الفهرس الثالث.
  • نعطي اسم العمود ثم نعطي القيمة mrk_list وبهذه الطريقة نضيف درجات الطلاب لمجموعة البيانات
  • ملاحظة: عند تمرير القيم في شكل قائمة، تأكد من عدم تجاوز قيم الفهرس لإطار البيانات الرئيسي

كود للفهم الشامل

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# importing the module
import pandas as pd
  
# creating a sample dataframe
data_dict = {'Name':['Ramesh', 'Suresh', 'Rajeev', 'Neha', 'Aditi'], 
                    'Roll_nos':[1, 2, 3, 4, 5],
                    'Division':['A', 'B', 'C', 'D', 'E'] }
  
# storing it in a variable
data = pd.DataFrame(data_dict)
  
# retrieving the basic info
data.info()
data.describe()
  
# using the insert function
mrk_list = [90.00, 60.06, 72.32, 78.9, 83.9]
data.insert(3, 'Marks', mrk_list)
data

ليست هناك تعليقات:

إرسال تعليق

😂11 مكتبة بايثون ممتعة لجعل يومك أفضل☀️

  في هذه المقالة سأقدم لك 11 مكتبة استمتعت باللعب بها وفكرت في مشاركتها معك.