تحليل البيانات والتصور مع بايثون
تُستخدم لغة بايثون على نطاق واسع كلغة لتحليل البيانات نظرًا لمكتباتها وأدواتها القوية لإدارة البيانات. ومن بين هذه المكتبات مكتبة Pandas التي تجعل استكشاف البيانات ومعالجتها وتحليلها أسهل. سوف نستخدم الباندا لتحليل مجموعة بيانات تسمى بيانات البلد.csv من كاجل. أثناء العمل مع هذه البيانات، نقدم أيضًا بعض المفاهيم المهمة في الباندا.
1. التثبيت
أسهل طريقة لتثبيت الباندا هي استخدام النقطة:
Python pip install pandas
أو تحميله من هنا .
2. إنشاء DataFrame في الباندا
أ إطار البيانات عبارة عن بنية بيانات تشبه الجدول في Pandas والتي تحتوي على بيانات مخزنة في صفوف وأعمدة. يمكن إنشاء DataFrame عن طريق تمرير كائنات متعددة من سلسلة python إلى ملف DataFrame فصل ( pd.DataFrame() ) باستخدام pd.Series طريقة. في هذا المثال، يتم استخدام كائنين من السلسلة: s1 كالصف الأول و s2 كالصف الثاني.
مثال 1: إنشاء DataFrame من السلسلة:
Python
import pandas as pd # Creating two Series: s1 (numbers) and s2 (names) s1 = pd . Series ([ 1 2 ]) s2 = pd . Series ([ 'Ashish' 'Sid' ]) # Creating DataFrame by combining Series as rows dataframe = pd . DataFrame ([ s1 s2 ]) # Displaying the DataFrame print ( dataframe )
الإخراج:
المثال 2: DataFrame من قائمة ذات فهرس مخصص وأسماء الأعمدة:
Python dataframe1 = pd . DataFrame ([[ 1 2 ] [ 'Ashish' 'Sid' ]] index = [ 'r1' 'r2' ] columns = [ 'c1' 'c2' ]) print ( dataframe1 )
الإخراج:
مثال 3: DataFrame من قاموس:
Python dataframe2 = pd . DataFrame ({ 'c1' : [ 1 'Ashish' ] 'c2' : [ 2 'Sid' ] }) print ( dataframe2 )
الإخراج:
3. استيراد البيانات باستخدام الباندا
الخطوة الأولى هي قراءة البيانات. في حالتنا، يتم تخزين البيانات كملف CSV (قيم مفصولة بفواصل) حيث يتم فصل كل صف بسطر جديد وكل عمود بفاصلة. لكي تتمكن من التعامل مع البيانات الموجودة في بايثون، يلزمك قراءة ملف CSV ملف في إطار بيانات الباندا.
Python import pandas as pd # Read Country-data.csv into a DataFrame df = pd . read_csv ( 'Country-data.csv' ) # Prints the first 5 rows of a DataFrame as default df . head () # Prints no. of rows and columns of a DataFrame df . shape
الإخراج:
(167 10)4. فهرسة DataFrames مع الباندا
يوفر Pandas إمكانات فهرسة قوية. يمكنك فهرسة DataFrames باستخدام كليهما على أساس الموقف و على أساس التسمية طُرق.
الفهرسة على أساس الموضع (باستخدام
Pythoniloc):# prints first 5 rows and every column which replicates df.head() df . iloc [ 0 : 5 :] # prints entire rows and columns df . iloc [::] # prints from 5th rows and first 5 columns df . iloc [ 5 :: 5 ]الإخراج:
![]()
![]()
![]()
الفهرسة على أساس التسمية (باستخدام
loc):يمكن عمل الفهرسة باستخدام التسميات باستخدام pandas.DataFrame.loc الطريقة التي تسمح بالفهرسة باستخدام التصنيفات بدلاً من المواضع.
أمثلة:
Python# prints first five rows including 5th index and every columns of df df . loc [ 0 : 5 :] # prints from 5th rows onwards and entire columns df . loc [ 5 ::]الإخراج:
![]()
![]()
ما سبق لا يبدو في الواقع مختلفًا كثيرًا عن df.iloc[0:5:]. وذلك لأنه على الرغم من أن تسميات الصفوف يمكن أن تأخذ أي قيم، فإن تسميات الصفوف الخاصة بنا تتطابق تمامًا مع المواضع. لكن تسميات الأعمدة يمكن أن تجعل الأمور أسهل بكثير عند التعامل مع البيانات.مثال:
Python# Prints the first 5 rows of Time period # value df . loc [: 5 'child_mort' ]الإخراج:
![]()
5. DataFrame Math مع الباندا
تعمل Pandas على تسهيل إجراء العمليات الحسابية على البيانات المخزنة في إطارات البيانات. يتم توجيه العمليات التي يمكن إجراؤها على الباندا، مما يعني أنها سريعة ويتم تطبيقها تلقائيًا على جميع العناصر دون استخدام الحلقات.
مثال - الرياضيات الحكيمة للعمود:
Python# Adding 5 to every element in column A df [ 'child_mort' ] = df [ 'child_mort' ] + 5 # Multiplying values in column B by 10 df [ 'exports' ] = df [ 'exports' ] * 10 dfالإخراج:
![]()
الوظائف الإحصائية في الباندا:
يمكن إجراء حساب إطارات البيانات باستخدام الوظائف الإحصائية لأدوات الباندا. يمكننا استخدام وظائف مثل:
-
df.sum()→ مجموع القيم -
df.mean()→ متوسط -
df.max()/df.min()→ القيم القصوى والدقيقة -
df.describe()→ ملخص إحصائي سريع
# computes various summary statistics excluding NaN values df . describe () # Provides sum of all the values for each column df . sum ()
الإخراج:
6. تصور البيانات باستخدام Pandas وMatplotlib
الباندا من السهل جدًا استخدامها ماتبلوتليب مكتبة قوية تستخدم لإنشاء المخططات والمخططات الأساسية. باستخدام بضعة أسطر فقط من التعليمات البرمجية، يمكننا تصور بياناتنا وفهمها بشكل أفضل. فيما يلي بعض الأمثلة البسيطة لمساعدتك على البدء في التخطيط باستخدام Pandas وMatplotlib:
Python # Import the library first import matplotlib.pyplot as plt
الرسم البياني
يعرض الرسم البياني توزيع القيم في عمود.
Python df [ 'income' ] . hist ( bins = 10 ) plt . title ( 'Histogram of Income' ) plt . xlabel ( 'Income Value' ) plt . ylabel ( 'Frequency' ) plt . show ()
الإخراج:
مؤامرة مربع
أ مؤامرة مربع مفيد للكشف عن القيم المتطرفة وفهم انتشار البيانات.
Python df = df . head ( 10 ) plt . figure ( figsize = ( 20 6 )) # Increase width to make x-axis labels clearer df . boxplot ( column = 'imports' by = 'country' ) plt . title ( 'Boxplot by Country' ) plt . suptitle ( '' ) # Removes default title plt . xlabel ( 'Country' ) plt . ylabel ( 'Imports' ) plt . xticks ( rotation = 45 ) # Optional: Rotate x-axis labels for better visibility plt . tight_layout () # Adjust layout to avoid clipping plt . show ()
الإخراج:
مؤامرة مبعثر
أ مؤامرة مبعثر يبين العلاقة بين متغيرين.
Python x = df [ 'health' ] y = df [ 'life_expec' ] plt . scatter ( x y label = 'Data Points' color = 'm' marker = '*' s = 30 ) plt . xlabel ( 'Health' ) plt . ylabel ( 'Life Expectancy' ) plt . title ( 'Scatter Plot of Health vs Life Expectancy' ) plt . legend () plt . show ()
الإخراج:
مقالة ذات صلة:
- مقدمة الباندا
- رسم بياني في بايثون
- العمل مع ملفات CSV في بايثون
- إطار بيانات الباندا
- مقدمة إلى ماتبلوتليب
- الرسم البياني - تعريف أنواع الرسم البياني والأمثلة
- مؤامرة مربع
- مؤامرة مبعثر