أهم 5 وظائف للباندا ضرورية لعلماء البيانات [2022]
نشرت: 2021-01-02من الواضح أن Pandas هي واحدة من المكتبات الأكثر استخدامًا والمحبوبة عندما يتعلق الأمر بعلوم البيانات وتحليل البيانات باستخدام Python. ما الذي يجعلها مميزة؟ في هذا البرنامج التعليمي ، سنستعرض 5 وظائف من هذا القبيل تجعل Pandas أداة مفيدة للغاية في مجموعة أدوات عالم البيانات.
بنهاية هذا البرنامج التعليمي ، ستكون لديك معرفة بالوظائف التالية في Pandas وكيفية استخدامها لتطبيقاتك:
- أعداد_القيمة
- مجموعة من
- loc و iloc
- فريدة وراهبة
- قص و qcut
جدول المحتويات
أهم وظائف الباندا لعلماء البيانات
1. value_counts ()
تُستخدم الدالة value_counts () في Pandas لإظهار أعداد جميع العناصر الفريدة في أعمدة إطار البيانات.
نصيحة احترافية: للتوضيح ، سأستخدم مجموعة بيانات تايتانيك.
الآن ، للعثور على عدد الفئات في ميزة Embarked ، يمكننا استدعاء دالة value_counts:
القطار [ 'Embarked' ] .value_counts () |
#انتاج: ق 644 ج 168 س 77 |
أيضًا ، إذا لم يكن لهذه الأرقام معنى كبير ، فيمكنك عرض النسب المئوية بدلاً من ذلك:
القطار [ 'Embarked' ] .value_counts (تسوية = صحيح ) |
#انتاج: ق 0.724409 ج 0.188976 س 0.086614 |
علاوة على ذلك ، لا تأخذ value_counts في الاعتبار NaN أو القيم المفقودة افتراضيًا وهو أمر ضروري للغاية للتحقق. للقيام بذلك ، يمكنك تعيين المعلمة dropna على أنها false.
القطار [ 'Embarked' ] .value_counts (dropna = False ) |
#انتاج: ق 644 ج 168 س 77 NaN 2 |
2. group_by ()
باستخدام Pandas group_by ، يمكننا تقسيم وتجميع إطار البيانات لدينا حسب أعمدة معينة حتى نتمكن من عرض الأنماط والتفاصيل في البيانات. تتضمن Group_by ثلاث خطوات رئيسية: التقسيم والتطبيق والجمع.
train.groupby ( "الجنس" ). يعني () |
انتاج:
كما ترى ، قمنا بتجميع إطار البيانات حسب الميزة "الجنس" وتم تجميعها باستخدام الوسائل.
يمكنك أيضًا رسمها باستخدام التصور المدمج في Pandas:
df.groupby ( 'Sex' ) .sum (). plot (kind = 'bar' ) |
يمكننا أيضًا التجميع باستخدام ميزات متعددة للتقسيم الهرمي.
df.groupby ([ 'Sex' ، 'Survived' ]) [ 'Survived' ] .count () |
يجب أن تقرأ: أسئلة مقابلة الباندا
3. loc و iloc
الفهرسة في Pandas هي واحدة من أكثر العمليات الأساسية وأفضل طريقة للقيام بذلك هي استخدام إما loc أو iloc. يشير "Loc" إلى الموقع بينما يرمز الحرف "i" إلى الموقع المفهرس. بمعنى آخر ، عندما تريد فهرسة إطار بيانات باستخدام أسماء أو تسميات الأعمدة / الصفوف ، يمكنك استخدام loc. وعندما تريد فهرسة الأعمدة أو الصفوف باستخدام المواضع ، يمكنك استخدام وظيفة iloc. دعنا نتحقق من الموقع أولاً.
train.loc [ 2 ، "sex" ] |
العملية أعلاه تعطينا عنصر الصف الفهرس 2 والعمود "الجنس". وبالمثل ، إذا احتجت إلى جميع قيم عمود الجنس ، فستفعل:
train.loc [:، "sex" ] |
أيضًا ، يمكنك تصفية أعمدة متعددة مثل:
train.loc [:، 'sex' ، 'Embarked' ] |
يمكنك أيضًا التصفية باستخدام الشروط المنطقية داخل الموقع مثل:
train.loc [train.age> = 25 ] |
لعرض صفوف معينة فقط ، يمكنك تقسيم إطار البيانات إلى شرائح باستخدام loc:
train.loc [ 100 : 200 ] |
علاوة على ذلك ، يمكنك تقسيم إطار البيانات على محور العمود على النحو التالي:
train.loc [: 'sex' : 'fare' ] |
ستقطع العملية المذكورة أعلاه إطار البيانات من العمود "الجنس" إلى "الأجرة" لجميع الصفوف.
الآن ، دعنا ننتقل إلى iloc. الفهارس iloc فقط باستخدام أرقام الفهرس أو المواقف. يمكنك تقسيم إطارات البيانات مثل:
train.iloc [ 100 : 200 ، 2 : 9 ] |
ستقطع العمليات المذكورة أعلاه الصفوف من 100 إلى 199 والأعمدة من 2 إلى 8. وبالمثل ، إذا كنت تريد تقسيم بياناتك أفقيًا ، فيمكنك القيام بما يلي:
train.iloc [: 300 ،: ] |
4. فريد () و nunique ()
يتم استخدام Pandas الفريد للحصول على جميع القيم الفريدة من أي ميزة. يستخدم هذا في الغالب للحصول على الفئات في الميزات الفئوية في البيانات. يظهر الفريد جميع القيم الفريدة بما في ذلك NaNs. يتعامل معها كقيمة فريدة مختلفة. لنلقي نظرة:

القطار [ 'sex' ] .unique () |
#انتاج: [ "أنثى" ، "ذكر" ] |
كما نرى ، فإنه يعطينا القيم الفريدة في ميزة "الجنس".
وبالمثل ، يمكنك أيضًا التحقق من عدد القيم الفريدة حيث قد يكون هناك الكثير من القيم الفريدة في بعض الميزات.
القطار [ 'sex' ] .nunique () |
#انتاج: 2 |
ومع ذلك ، يجب أن تضع في اعتبارك أن nunique () لا تعتبر NaNs كقيم فريدة. إذا كان هناك أي NaNs في بياناتك ، فستحتاج إلى تمرير معلمة dropna على أنها False للتأكد من أن Pandas تمنحك العدد بما في ذلك NaNs أيضًا.
القطار [ 'sex' ] .nunique (dropna = False ) |
#انتاج: 3 |
5. cut () و qcut ()
يتم استخدام قطع Pandas في قيم bin في النطاقات من أجل تحديد الميزات. دعونا نتعمق فيه. يعني Binning تحويل ميزة رقمية أو مستمرة إلى مجموعة منفصلة من القيم ، بناءً على نطاقات القيم المستمرة. يكون هذا مفيدًا عندما تريد رؤية الاتجاهات بناءً على النطاق الذي تقع فيه نقطة البيانات.
دعونا نفهم هذا بمثال صغير.
لنفترض أن لدينا علامات لـ 7 أطفال تتراوح أعمارهم بين 0-100. الآن ، يمكننا تخصيص علامات كل طفل إلى "سلة مهملات" معينة.
df = pd.Dataframe (البيانات = { 'Name' : [ 'Ck' ، 'Ron' ، 'Mat' ، 'Josh' ، 'Tim' ، 'SypherPK' ، 'Dew' ، 'Vin' ]، "العلامات" : [ 37 ، 91 ، 66 ، 42 ، 99 ، 81 ، 45 ، 71 ] }) df [ 'marks_bin ' ] = pd.cut (df [ ' Marks ' ] ، الصناديق = [ 0 ، 50 ، 70 ، 100 ] ، الملصقات = [ 1 ، 2 ، 3 ]) |
ثم يمكننا فقط إلحاق المخرجات كميزة جديدة ، ويمكن إسقاط ميزة العلامات. يبدو إطار البيانات الجديد كما يلي:
#انتاج: علامات الاسم Marks_bin 0 سي ك 37 1 1 رون 91 3 2 حصيرة 66 2 3 يش 42 1 4 تيم 99 3 5 SypherPK 81 3 6 ديو 45 1 7 فين 71 3 |
لذلك ، عندما أقول الحاويات = [ 0 ، 50 ، 70 ، 100 ] ، فهذا يعني أن هناك 3 نطاقات:
0 إلى 50 للحاوية 1 ،
51 إلى 70 للحاوية 2 ، و
71 إلى 100 من بن 3.
لذلك ، لا تحتوي ميزتنا الآن على العلامات ولكن النطاق أو الحاوية التي توجد عليها العلامات الخاصة بهذا الطالب.
على غرار cut () ، تقدم Pandas أيضًا وظيفة شقيق تسمى qcut () . يأخذ Pandas qcut عدد الكميات ، ويقسم نقاط البيانات إلى كل سلة بناءً على توزيع البيانات. لذلك ، يمكننا فقط تغيير وظيفة القطع المذكورة أعلاه إلى qcut:
df [ 'marks_bin ' ] = pd.qcut (df [ ' Marks ' ] ، q = 3 ، الملصقات = [ 1 ، 2 ، 3 ]) |
في العملية المذكورة أعلاه ، نطلب من Pandas تقطيع الميزة إلى 3 أجزاء متساوية وتخصيص التسميات لها. الإخراج يأتي على النحو التالي:
علامات الاسم Marks_bin 0 سي ك 37 1 1 رون 91 3 2 حصيرة 66 2 3 يش 42 1 4 تيم 99 3 5 SypherPK 81 3 6 ديو 45 1 7 فين 71 2 |
لاحظ كيف تغيرت القيمة الأخيرة من 3 إلى 2.
اقرأ أيضًا: Pandas Dataframe Astype
قبل ان تذهب
لقد رأينا بعض وظائف Pandas الأكثر استخدامًا. لكن هذه ليست فقط الأشياء المهمة ونحن نشجعك على معرفة المزيد عن وظائف Pandas المستخدمة في الغالب. يعد هذا أسلوبًا جيدًا وفعالًا لأنك قد لا تستخدم جميع الوظائف التي تمتلكها Pandas ، ولكن القليل منها فقط.
تعلم دورات علوم البيانات من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.
لماذا تحظى مكتبة الباندا بشعبية كبيرة؟
تحظى هذه المكتبة بالفعل بشعبية كبيرة بين علماء البيانات ومحللي البيانات. والسبب في ذلك هو دعمه الكبير لعدد كبير من تنسيقات الملفات ومجموعة غنية من الميزات لمعالجة البيانات المستخرجة. يمكن أن يتكامل بسهولة مع المكتبات والحزم الأخرى مثل NumPy.
توفر هذه المكتبة القوية العديد من الوظائف المفيدة لمعالجة مجموعات البيانات الضخمة بطريقة مرنة. بمجرد إتقانها ، يمكنك بسهولة إنجاز مهام رائعة ببضعة أسطر من التعليمات البرمجية.
ما هي وظيفة الدمج ولماذا يتم استخدامها؟
وظيفة الدمج هي وظيفة خاصة لإطار بيانات Pandas الذي يتم استخدامه لدمج صفوف أو أعمدة متعددة من إطارات بيانات 2. إنها عملية ربط ذات ذاكرة عالية وتشبه قواعد البيانات العلائقية. يمكنك استخدام = اسم العمود لدمج إطارات البيانات في العمود المشترك.
يمكنك تحديث left_on = اسم العمود أو right_on = اسم العمود لمحاذاة الجداول باستخدام أعمدة من إطار البيانات الأيسر أو الأيمن كمفاتيح.
بصرف النظر عن مكتبة Pandas ، ما هي مكتبات Python الأخرى لعلوم البيانات؟
بصرف النظر عن مكتبة Pandas ، هناك مجموعة من مكتبات Python التي تعتبر من أفضل المكتبات لعلوم البيانات. وتشمل هذه PySpark و TensorFlow و Matplotlib و Scikit Learn و SciPy وغيرها الكثير. كل واحد منهم يستخدم على نطاق واسع لميزاته ووظائفه الفريدة والمذهلة.
كل مكتبة لها أهميتها الخاصة مثل SciKit Learn يتم استخدامه في كثير من الأحيان عندما يتعين عليك التعامل مع البيانات الإحصائية. بصرف النظر عن تحليل البيانات ، يمكنك أيضًا إنشاء لوحات معلومات وتقارير مرئية باستخدام الوظائف التي توفرها هذه المكتبات الرائعة.