دروس بايثون الباندا: تعلم الباندا لتحليل البيانات



في هذا البرنامج التعليمي لـ Python Pandas ، ستتعلم العمليات المختلفة لـ Pandas. يتضمن أيضًا حالة استخدام ، حيث يمكنك تحليل البيانات باستخدام Pandas.

في هذه المدونة ، سنناقش تحليل البيانات باستخدام Pandas في Python.اليوم، هي مهارة ساخنة في الصناعة تجاوزت PHP في 2017 و C # في 2018 من حيث الشعبية والاستخدام العام.قبل الحديث عن Pandas ، يجب على المرء أن يفهم مفهوم مصفوفات Numpy. لماذا ا؟ لأن Pandas عبارة عن مكتبة برامج مفتوحة المصدر تم إنشاؤها فوق . في هذا البرنامج التعليمي لـ Python Pandas ، سوف أطلعك على الموضوعات التالية ، والتي ستكون بمثابة أساسيات للمدونات القادمة:

هيا بنا نبدأ. :-)





ما هو Python Pandas؟

تُستخدم الباندا في معالجة البيانات وتحليلها وتنظيفها. تعد Python pandas مناسبة تمامًا لأنواع مختلفة من البيانات ، مثل:

  • بيانات جدولية بأعمدة مكتوبة بشكل غير متجانس
  • بيانات السلاسل الزمنية المرتبة وغير المرتبة
  • بيانات المصفوفة العشوائية مع تسميات الصفوف والأعمدة
  • البيانات غير الموسومة
  • أي شكل آخر من مجموعات البيانات الرصدية أو الإحصائية

كيفية تثبيت Pandas؟

لتثبيت Python Pandas ، انتقل إلى سطر الأوامر / المحطة الطرفية واكتب 'pip install pandas' وإلا ، إذا كان لديك anaconda مثبتًا في نظامك ، فما عليك سوى كتابة 'conda install pandas'. بمجرد اكتمال التثبيت ، انتقل إلى IDE الخاص بك (Jupyter ، PyCharm وما إلى ذلك) وقم ببساطة باستيراده عن طريق كتابة: 'استيراد الباندا كـ pd'



سلسلة نصية عامة ()

للمضي قدمًا في دروس Python pandas ، دعنا نلقي نظرة على بعض عملياتها:

عمليات بايثون الباندا

باستخدام Python pandas ، يمكنك إجراء الكثير من العمليات باستخدام السلاسل وإطارات البيانات والبيانات المفقودة والتجميع حسب إلخ. بعض العمليات الشائعة لمعالجة البيانات مذكورة أدناه:



عمليات الباندا - دروس بايثون الباندا - Edureka

الآن ، دعونا نفهم كل هذه العمليات واحدة تلو الأخرى.

تشريح إطار البيانات

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

ارجع إلى الكود أدناه لتنفيذه في PyCharm:

استيراد الباندا مثل pd XYZ_web = {'Day': [1،2،3،4،5،6]، 'Visitors': [1000، 700،6000،1000،400،350]، 'Bounce_Rate': [20،20، 23،15،10،34]} df = pd.DataFrame (XYZ_web) طباعة (df)

انتاج | :

Bounce_Rate عدد زوار اليوم 0 20 1 1000 1 20 2700 2 23 3 6000 3 15 4 1000 4 10 5400 5 34 6350

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

طباعة (df.head (2))

انتاج:

Bounce_Rate عدد زوار اليوم 0 20 1 1000 1 20 2700

وبالمثل ، إذا كنت تريد آخر صفين من البيانات ، فاكتب الأمر أدناه:

طباعة (df.tail (2))

انتاج:

Bounce_Rate عدد زوار اليوم 4 10 5400 5 34 6350

بعد ذلك في برنامج Python Pandas التعليمي ، دعنا نقوم بعملية الدمج والانضمام.

الدمج والانضمام

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

HPI IND_GDP Int_Rate 0 80 50 2 1 90 45 1 2 70 45 2 3 60 67 3

انتاج:

استيراد الباندا كـ pd df1 = pd.DataFrame ({'HPI': [80،90،70،60]، 'Int_Rate': [2،1،2،3]، 'IND_GDP': [50،45،45، 67]}، index = [2001، 2002،2003،2004]) df2 = pd.DataFrame ({'HPI': [80،90،70،60]، 'Int_Rate': [2،1،2،3] ، 'IND_GDP': [50،45،45،67]}، الفهرس = [2005، 2006،2007،2008]) merged = pd.merge (df1، df2) print (merged)

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

df1 = pd.DataFrame ({'HPI': [80،90،70،60]، 'Int_Rate': [2،1،2،3]، 'IND_GDP': [50،45،45،67]} ، index = [2001، 2002،2003،2004]) df2 = pd.DataFrame ({'HPI': [80،90،70،60]، 'Int_Rate': [2،1،2،3]، 'IND_GDP' : [50،45،45،67]} ، الفهرس = [2005، 2006،2007،2008]) مدمج = pd.merge (df1، df2، on = 'HPI') print (merged)

انتاج:

IND_GDP Int_Rate Low_Tier_HPI البطالة 2001 50 2 50.0 1.0 2002 45 1 NaN NaN 2003 45 2 45.0 3.0 2004 67 3 67.0 5.0 2004 67 3 34.0 6.0

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

df1 = pd.DataFrame ({'Int_Rate': [2،1،2،3]، 'IND_GDP': [50،45،45،67]}، index = [2001، 2002،2003،2004]) df2 = pd.DataFrame ({'Low_Tier_HPI': [50،45،67،34]، 'Unemployment': [1،3،5،6]}، index = [2001، 2003،2004،2004]) انضم = df1. انضم (df2) طباعة (انضم)

انتاج:

IND_GDP Int_Rate Low_Tier_HPI البطالة 2001 50 2 50.0 1.0 2002 45 1 NaN NaN 2003 45 2 45.0 3.0 2004 67 3 67.0 5.0 2004 67 3 34.0 6.0

كما تلاحظ في المخرجات أعلاه ، في عام 2002 (الفهرس) ، لا توجد قيمة مرتبطة بالأعمدة 'low_tier_HPI' و 'البطالة' ، وبالتالي فقد طبع NaN (ليس رقمًا). في وقت لاحق من عام 2004 ، أصبحت كلتا القيمتين متاحتين ، لذلك قامت بطباعة القيم الخاصة بها.

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

بايثون لتحليل البيانات | دروس بايثون الباندا | تدريب بايثون | إدوريكا


المضي قدمًا في برنامج Python pandas التعليمي ، دعنا نفهم كيفية ربط إطارات بيانات اثنين.

سلسلة

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

df1 = pd.DataFrame ({'HPI': [80،90،70،60]، 'Int_Rate': [2،1،2،3]، 'IND_GDP': [50،45،45،67]} ، index = [2001، 2002،2003،2004]) df2 = pd.DataFrame ({'HPI': [80،90،70،60]، 'Int_Rate': [2،1،2،3]، 'IND_GDP' : [50،45،45،67]}، الفهرس = [2005، 2006،2007،2008]) concat = pd.concat ([df1، df2]) print (concat)

انتاج:

HPI IND_GDP Int_Rate 2001 80 50 2 2002 90 45 1 2003 70 45 2 2004 60 67 3 2005 80 50 2 2006 90 45 1 2007 70 45 2 2008 60 67 3

كما ترى أعلاه ، يتم لصق إطاري البيانات معًا في إطار بيانات واحد ، حيث يبدأ الفهرس من عام 2001 حتى عام 2008. بعد ذلك ، يمكنك أيضًا تحديد المحور = 1 من أجل الانضمام أو الدمج أو الإلغاء على طول الأعمدة. راجع الكود أدناه:

df1 = pd.DataFrame ({'HPI': [80،90،70،60]، 'Int_Rate': [2،1،2،3]، 'IND_GDP': [50،45،45،67]} ، index = [2001، 2002،2003،2004]) df2 = pd.DataFrame ({'HPI': [80،90،70،60]، 'Int_Rate': [2،1،2،3]، 'IND_GDP' : [50،45،45،67]}، الفهرس = [2005، 2006،2007،2008]) concat = pd.concat ([df1، df2]، محور = 1) طباعة (concat)

انتاج:

HPI IND_GDP Int_Rate HPI IND_GDP Int_Rate 2001 80.0 50.0 2.0 NaN NaN NaN 2002 90.0 45.0 1.0 NaN NaN NaN 2003 70.0 45.0 2.0 NaN NaN NaN 2004 60.0 67.0 3.0 NaN NaN NaN 2005 NaN NaN NaN 80.0 50.0 2.0 2006 NaN NaN NaN 90.0 45.0 1.0 2007 NaN NaN NaN 70.0 45.0 2.0 2008 NaN NaN NaN 60.0 67.0 3.0

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

قم بتغيير الفهرس

بعد ذلك في البرنامج التعليمي لـ python pandas ، سوف نفهم كيفية تغيير قيم الفهرس في إطار البيانات. على سبيل المثال ، دعنا ننشئ إطار بيانات مع بعض أزواج القيم الرئيسية في القاموس ونغير قيم الفهرس. ضع في اعتبارك المثال أدناه:

دعونا نرى كيف يحدث ذلك بالفعل:

استيراد الباندا مثل pd df = pd.DataFrame ({'Day': [1،2،3،4]، 'Visitors': [200، 100،230،300]، 'Bounce_Rate': [20،45،60،10]}) df.set_index ('Day'، inplace = True) print (df)

انتاج:

Bounce_Rate يوم الزوار 1 20200 2 45100 3 60230 4 10300

باستخدام r للتعلم الآلي

كما تلاحظ في الإخراج أعلاه ، تم تغيير قيمة المؤشر فيما يتعلق بعمود 'اليوم'.

قم بتغيير رؤوس الأعمدة

دعونا الآن نغير رؤوس الأعمدة في هذا البرنامج التعليمي لبيثون الباندا. دعونا نأخذ نفس المثال ، حيث سأغير رأس العمود من 'الزوار' إلى 'المستخدمون'. لذا اسمحوا لي أن أنفذها عمليا.

استيراد الباندا مثل pd df = pd.DataFrame ({'Day': [1،2،3،4]، 'Visitors': [200، 100،230،300]، 'Bounce_Rate': [20،45،60،10]}) df = df.rename (الأعمدة = {'الزوار': 'المستخدمون'}) طباعة (df)

انتاج:

Bounce_Rate عدد مستخدمي اليوم 0 20 1200 1 45 2100 2 60 3230 3 10 4300

كما ترى أعلاه ، تم تغيير عنوان العمود 'الزوار' إلى 'المستخدمون'. بعد ذلك في البرنامج التعليمي لـ python pandas ، دعنا ننفذ البيانات.

البيانات Munging

في إدارة البيانات ، يمكنك تحويل بيانات معينة إلى تنسيق مختلف. على سبيل المثال ، إذا كان لديك ملف .csv ، فيمكنك تحويله إلى .html أو أي تنسيق بيانات آخر أيضًا. لذا اسمحوا لي أن أنفذ هذا عمليا.

استيراد الباندا كـ pd country = pd.read_csv ('D: UsersAayushiDownloadsworld-bank-youth-slowAPI_ILO_country_YU.csv'، index_col = 0) country.to_html ('edu.html')

بمجرد تشغيل هذا الرمز ، سيتم إنشاء ملف HTML باسم “edu.html”. يمكنك نسخ مسار الملف مباشرة ولصقه في متصفحك الذي يعرض البيانات بتنسيق HTML. الرجوع إلى لقطة الشاشة أدناه:


بعد ذلك في البرنامج التعليمي لـ python pandas ، دعنا نلقي نظرة على حالة استخدام تتحدث عن بطالة الشباب العالمية.

برنامج Python Pandas التعليمي: استخدام الحالة لتحليل بيانات بطالة الشباب

عرض المشكلة :يتم منحك مجموعة بيانات يتألف من النسبة المئوية للشباب العاطلين عن العمل على مستوى العالم من 2010 إلى 2014. عليك استخدام مجموعة البيانات هذه وإيجاد التغيير في النسبة المئوية للشباب لكل بلد من 2010-2011.

أولاً ، دعونا نفهم مجموعة البيانات التي تحتوي على الأعمدة مثل اسم البلد ورمز البلد والسنة من 2010 إلى 2014. الآن باستخدام الباندا ، سنستخدم 'pd.read_csv' لقراءة ملف تنسيق ملف .csv.
الرجوع إلى لقطة الشاشة أدناه:

دعونا نمضي قدمًا ونجري تحليل البيانات الذي سنكتشف فيه النسبة المئوية للتغير في الشباب العاطلين عن العمل بين عامي 2010 و 2011. ثم سنقوم بتصور نفس الشيء باستخدام Library ، وهي مكتبة قوية للتصور في Python. يمكن استخدامه في نصوص Python و shell وخوادم تطبيقات الويب ومجموعات أدوات واجهة المستخدم الرسومية الأخرى. يمكنك استخدام قراءة المزيد هنا:

الآن ، دعنا ننفذ الكود في PyCharm:

استيراد الباندا كـ pd import matplotlib.pyplot as plt من matplotlib import style style.use ('fivethirtyeight') country = pd.read_csv ('D: UsersAayushiDownloadsworld-bank-youth -employAPI_ILO_country_YU.csv'، index_col = 0) df = country head (5) df = df.set_index (['كود الدولة']) sd = sd.reindex (الأعمدة = ['2010'، '2011']) db = sd.diff (المحور = 1) db.plot (نوع = 'شريط') plt.show ()

كما ترى أعلاه ، قمت بإجراء التحليل على الصفوف الخمسة الأولى من إطار بيانات الدولة. بعد ذلك ، حددت قيمة مؤشر لتكون 'رمز البلد' ثم أعدت فهرسة العمود إلى 2010 و 2011. ثم لدينا إطار بيانات آخر db ، والذي يطبع الفرق بين العمودين أو النسبة المئوية للتغير في الشباب العاطلين عن العمل من عام 2010 إلى عام 2011. أخيرًا ، قمت برسم مخطط barplot باستخدام مكتبة Matplotlib في Python.


الآن إذا لاحظت في المؤامرة أعلاه ، في أفغانستان (AFG) بين عامي 2010 و 2011 ، كان هناك ارتفاع في عدد الشباب العاطلين عن العمل تقريبًا. 0.25٪. ثم في أنغولا (AGO) ، هناك اتجاه سلبي يعني أن النسبة المئوية للشباب العاطلين عن العمل قد انخفضت. وبالمثل ، يمكنك إجراء تحليل على مجموعات مختلفة من البيانات.

آمل أن تكون مدونتي حول 'Python Pandas Tutorial' مناسبة لك. للحصول على معرفة متعمقة حول Python مع تطبيقاتها المختلفة ، يمكنك التسجيل في البث المباشر بواسطة Edureka مع دعم على مدار الساعة طوال أيام الأسبوع وإمكانية الوصول مدى الحياة.

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات في مدونة 'دروس Python Pandas' وسنعاود الاتصال بك في أقرب وقت ممكن.