مصدرالنصائح والحيل ، وخاصة في البرمجة ، يمكن أن تكون مفيدة للغاية. يمكن لقطة صغيرة أو ملحق أو قرصنة صغيرة توفير الكثير من الوقت وزيادة الإنتاجية بشكل كبير. جمعت صديقاتي المفضلات وجعلت هذا المقال منها. بعض النصائح أدناه معروفة بالفعل للكثيرين ، وقد ظهرت بعض النصائح مؤخرًا. بطريقة أو بأخرى ، أنا متأكد من أنها بالتأكيد لن تكون ضرورية عند الشروع مرة أخرى في مشروع تحليل البيانات.
1. التنميط الباندا Dataframe
Profiling يساعدك على فهم بياناتنا بشكل أفضل ، وقد تم إنشاء حزمة Pandas Profiling لهذا الغرض فقط. ستوفر المكتبة فرصة لإجراء التحليل الاستكشافي لبانداس Dataframe بسهولة وسرعة. عادةً في مثل هذه الحالات ، يتم استخدام الدالتين df.describe () و df.info () كخطوة أولى ، لكنهما يبلغان قليلاً ولا يتعاملان بشكل جيد مع مجموعات البيانات الكبيرة. سطر واحد من التعليمات البرمجية باستخدام Pandas Profiling ، في المقابل ، سينتج الكثير من المعلومات في تقرير HTML التفاعلي.
إليك ما يتم حسابه لمجموعة بيانات معينة:
إحصاءات الانتاج عن طريق التنميط الباندا.تركيب
pip install pandas-profiling conda install -c anaconda pandas-profiling
استخدام
دعونا نستخدم مجموعة بيانات Titanic Passenger لعرض الملف التعريفي.
# import pandas as pd import pandas_profiling
df = pd.read_csv('titanic/train.csv') pandas_profiling.ProfileReport(df)
هذا هو كل ما تحتاجه لعرض نتائج التنميط. التقرير مليء بالتفاصيل ، بما في ذلك ، عند الاقتضاء ، الرسوم البيانية.
يمكن تصدير التقرير إلى ملف HTML تفاعلي :
profile = pandas_profiling.ProfileReport(df) profile.to_file(outputfile="Titanic data profiling.html")
انقر هنا لمشاهدة البث المباشر.
( مجلد مع أمثلة - الترجمة تقريبا.)
2. جعل الرسومات الباندا التفاعلية
لدى فئة DataFrame في Pandas دالة .plot () مضمنة . ومع ذلك ، فإن التصور الذي تم إنشاؤه بمساعدته ليس تفاعليًا ، والذي أود تحسينه. من ناحية أخرى ، لا أريد أيضًا رفض بساطة استخدام الوظيفة. ماذا لو استطعنا جعل رسومات Pandas تفاعلية دون إجراء أي تغييرات على الكود؟ هذا هو بالضبط ما هو ممكن مع مكتبة أزرار الكم .
أزرار أكمام تربط قوة مؤامرة مع مرونة Pandas للرسوم البيانية التفاعلية. دعونا نرى كيف يمكنك تثبيت المكتبة وجعلها تعمل مع Pandas .
تركيب
pip install plotly # Plotly Cufflinks pip install cufflinks
استخدام
# Pandas import pandas as pd # plotly cufflinks import cufflinks as cf
import plotly.offline cf.go_offline() cf.set_config_file(offline=False, world_readable=True)
حان الوقت لرؤية كل قوة الصك على البيانات على ركاب تايتانيك.
df.iplot()
df.plot () مقارنة بـ df.iplot ()يُظهر التصور السفلي مخططًا ثابتًا ، في حين أن المخطط العلوي تفاعلي وأكثر تفصيلًا ، كل ذلك دون أي تغييرات كبيرة في بناء الجملة.
هنا يمكنك رؤية المزيد من الأمثلة.
3. قليلا من السحر
أوامر Magic هي مجموعة من الوظائف المريحة في أجهزة الكمبيوتر المحمولة Jupyter المصممة لحل المهام الشائعة لتحليل البيانات القياسي. يمكنك رؤية جميع الميزات المتاحة مع ٪ lsmagic .
قائمة بجميع وظائف "السحر" المتاحةهناك نوعان من الأوامر السحرية: magics line ، والتي تبدأ بـ ٪ واحد وتعمل على نفس السطر ؛ و magics الخلية ، التي ترتبط مع ضعف ٪٪ والعمل على خطوط متعددة.
دعونا نلقي نظرة على تلك المفيدة في مهام تحليل البيانات العامة:
يقوم٪ pastebin بتحميل الكود في Pastebin وإرجاع عنوان url. Pastebin هو موقع يمكننا من خلاله حفظ نص عادي ، على سبيل المثال ، جزء من الكود المصدري ، لتمرير الرابط إلى الآخرين. في الواقع ، فإن GitHub Gist يشبه Pastebin ، وإن كان مع التحكم في الإصدار.
النظر في البرنامج النصي التالي:
# file.py def foo(x): return x
سيؤدي استخدام ٪ pastebin في Jupyter Notebook إلى إنشاء عنوان url على Pastebin.
يتم استخدام الأمر٪ matplotlib inline لتصور المؤامرات الساكنة matplotlib في دفتر ملاحظات Jupyter. استبدال مضمنة مع دفتر الملاحظات للحصول على المخططات قابلة للتحجيم وقابلة للتغيير. فقط تأكد من إضافة الأمر قبل استيراد matplotlib .
٪ matplotlib مضمّنة مقارنةً بـ ٪ matplotlibيقوم الأمر ٪ run بتشغيل البرنامج النصي داخل Jupyter Notebook.
%run file.py
يكتب يكتب ٪٪ محتويات الخلية إلى ملف. سيتم كتابة التعليمات البرمجية أدناه إلى ملف يسمى foo.py وحفظها في الدليل الحالي.
تعرض الدالة ٪٪ latex محتويات الخلية كـ LaTeX. هذا مفيد لكتابة الصيغ والمعادلات الرياضية في الخلية.
4. استكشاف الأخطاء وإصلاحها
المصحح التفاعلي هو أيضًا فريق سحري ، لكني أعطيته الفئة الخاصة بي. في حالة حدوث استثناء عند بدء تشغيل الخلية بالكود ، أدخل الأمر ٪ debug في سطر جديد وقم بتنفيذه. يتم فتح بيئة تصحيح أخطاء تفاعلية ، توضح الموقع الذي حدث فيه الاستثناء. يمكنك التحقق من قيم المتغيرات وتنفيذ عمليات مختلفة. للخروج من مصحح الأخطاء ، اضغط q .
5. الاستنتاج يمكن أن يكون جميلا
إذا كنت ترغب في عرض بنيات البيانات الخاصة بك بشكل جميل ، فإن pprint هو اختيارك. هذا مفيد بشكل خاص عند طباعة القواميس أو بيانات JSON. دعونا نلقي نظرة على الكود الذي يستخدم كل من الطباعة و pprint للإخراج.
6. تسليط الضوء على الملاحظات
يمكننا استخدام التنبيهات في Jupyter Notebooks الخاصة بنا لتسليط الضوء على شيء مهم. سوف يعتمد اللون على نوع التنبيه. فقط أضف أيًا من الرموز التالية أو جميعها إلى الخلية التي تريد تمييزها.
<div class="alert alert-block alert-info"> <b>Tip:</b> Use blue boxes (alert-info) for tips and notes. If it's a note, you don't have to include the word “Note”. </div>
<div class="alert alert-block alert-warning"> <b>Example:</b> Yellow Boxes are generally used to include additional examples or mathematical formulas. </div>
<div class="alert alert-block alert-success"> Use green box only when necessary like to display links to related content. </div>
<div class="alert alert-block alert-danger"> It is good to avoid red boxes but can be used to alert users to not delete some important part of code etc. </div>
7. طباعة كل الإخراج في خلية
ضع في اعتبارك خلية Jupyter Notebook تحتوي على هذا الكود:
In [1]: 10+5 11+6
Out [1]: 17
هذه خاصية عادية للخلية يتم طباعتها آخر إخراج ، وبالنسبة للآخرين ، نحتاج إلى إضافة وظيفة print () . حسنًا ، اتضح أنه يمكننا طباعة جميع الاستنتاجات بإضافة الجزء التالي من الأعلى:
from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all"
الآن تتم طباعة جميع الاستنتاجات واحدة تلو الأخرى.
In [1]: 10+5 11+6 12+7
Out [1]: 15 Out [1]: 17 Out [1]: 19
للعودة إلى الإعداد الأولي:
InteractiveShell.ast_node_interactivity = "last_expr"
8. تشغيل البرامج النصية Python مع الخيار -i.
من الطرق النموذجية لتشغيل برنامج Python النصي من سطر الأوامر: python hello.py . ومع ذلك ، إذا قمت بإضافة المعلمة - i ، أي استدعاء بيثون - أنا hello.py سوف تحصل على أكثر من ذلك بكثير. دعونا نرى ما بالضبط.
- أولاً ، بمجرد الوصول إلى نهاية البرنامج ، لم تعد بيثون تخرج من المترجم الفوري. وبالتالي ، يمكننا التحقق من قيم المتغيرات وصحة الوظائف المحددة في برنامجنا.
- ثانياً ، نظرًا لأننا لا نزال في المترجم الفوري ، يمكننا بسهولة استدعاء مصحح أخطاء python:
import pdb pdb.pm()
سيقودنا ذلك إلى المكان الذي حدث فيه الاستثناء ، ويمكننا مواصلة العمل على الكود.
المصدر الأصلي للميزات.
9. التلقائي (رأس) تعليق رمز
تعليق Ctrl / Cmd + / تلقائيًا على الخطوط المحددة في الخلية. الضغط على المجموعة مرة أخرى سوف uncomment نفس الخطوط.
(هذا ، بالمناسبة ، ينطبق على المحررين الآخرين مثل Pycharm أو Sublime Text - تقريبا. ترجمة.)
10. إلغاء الإجراءات العشوائية
هل سبق لك أن قمت بحذف خلية Jupyter Notebook بطريق الخطأ؟ إذا كان الأمر كذلك ، فإليك هذه اللقطات التي ستلغي هذا الإجراء.
- في حالة حذف المحتويات داخل الخلية ، يمكنك استعادتها بسهولة عن طريق الضغط على CTRL / CMD + Z
- إذا كنت بحاجة إلى استعادة الخلية المحذوفة نفسها - ESC + Z أو EDIT> تراجع عن حذف الخلايا
استنتاج
في هذه المقالة ، قمت بسرد النصائح الأساسية التي تساعدني عند العمل مع دفاتر Python و Jupyter Notebook. آمل أن يساعدوك أيضًا. ترميز سعيد!