إتقان NumPy np.array: من الأساسيات إلى التحليل المتقدم للبيانات

1. المقدمة

Python هي لغة برمجة شائعة جدًا لتحليل البيانات، وتعلم الآلة، والحوسبة العلمية. من بينها، مكتبة numpy (NumPy) هي أداة قوية لتبسيط الحسابات العددية. تُقدِّم هذه المقالة شرحًا مفصَّلًا لـ “np.array” في بايثون، من الأساسيات إلى التطبيقات العملية، وتُقدِّم تقنيات ملموسة مفيدة لمعالجة وتحليل البيانات العددية.

الصفحة الرسمية

2. ما هو numpy؟

numpy هي مكتبة حوسبة عددية تُقدِّم مصفوفات متعددة الأبعاد (ndarray)، وعمليات المصفوفات، وميزات التحليل الإحصائي، وتُعدّ أساسًا لتحليل البيانات. من خلال العمل مع مكتبات بايثون الأخرى، تجعل معالجة البيانات المعقدة بسيطة وسريعة.

كيفية تثبيت numpy

تثبيت numpy سهل. فقط نفّذ الأمر أدناه.

pip install numpy

لماذا نختار numpy

القدرات السريعة والفعّالة لمعالجة البيانات في numpy لا غنى عنها في الحوسبة العلمية وعلوم البيانات. لمزيد من التفاصيل عن numpy، راجع الوثائق الرسمية.

Why NumPy? Powerful n-dimensional arrays. Numerical computin…

年収訴求

3. أساسيات np.array

np.array في بايثون هو الهيكلية الأساسية للبيانات في numpy ويشمل وظائف لمعالجة البيانات العددية بكفاءة. على سبيل المثال، إليك كيفية إنشاء مصفوفة أحادية البُعد.

import numpy as np
array_1d = np.array([1, 2, 3, 4, 5])
print(array_1d)

نصيحة: تحديد نوع البيانات لـ np.array يمكن أن يحسّن من كفاءة الذاكرة. استخدم معامل dtype لتحديد الأنواع الصحيحة (مثل int32) أو الأنواع العشرية.

4. إنشاء مصفوفات متعددة الأبعاد

np.array يدعم أيضًا المصفوفات متعددة الأبعاد. على سبيل المثال، يُنشئ الكود التالي مصفوفة ثنائية الأبعاد.

array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(array_2d)

سؤال شائع س: كيف يمكنني إنشاء مصفوفات ذات ثلاثة أبعاد أو أكثر؟ ج: يمكنك إنشاؤها بتمرير قائمة متداخلة إضافية إلى np.array.

5. عمليات المصفوفة

يتيح لك np.array استرجاع العناصر وإجراء عمليات جزئية باستخدام الفهرسة والتقطيع. أدناه مثال أساسي على الفهرسة.

array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(array_2d[1, 2])  # Output: 6

باستخدام التقطيع، يمكنك استخراج صفوف أو أعمدة محددة بسهولة.

6. إعادة تشكيل المصفوفات

في تحليل البيانات، غالبًا ما تحتاج إلى تغيير شكل المصفوفات؛ يتيح لك أسلوب reshape إعادة تشكيلها بكفاءة.

array_1d = np.array([1, 2, 3, 4, 5, 6])
array_2d = array_1d.reshape(2, 3)
print(array_2d)

نصيحة: يمكنك أيضًا استخدام أسلوب resize لإعادة الشكل، لكن احذر لأنه يغيّر المصفوفة الأصلية مباشرة.

7. عمليات المصفوفة

استخدام إمكانات الحساب في numpy يجعل العمليات بين المصفوفات بسيطة. المثال أدناه يُجري جمعًا عنصرًا بآخر لمصفوفتين.

array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
print(array1 + array2)  # Output: [5 7 9]

سؤال شائع س: هل يمكنني إجراء عمليات عندما تكون للمصفوفات أشكال مختلفة؟ ج: باستخدام ميزة البث (broadcasting) في numpy، يمكنك تنفيذ العمليات على مصفوفات ذات أشكال مختلفة بشكل صحيح.

8. استخدام الدوال الإحصائية

في تحليل البيانات، من المهم فحص المقاييس الإحصائية مثل متوسط المصفوفة، والقيم العظمى والصغرى، والتباين. على سبيل المثال، إليك كيفية حساب متوسط المصفوفة.

array = np.array([1, 2, 3, 4, 5])
print(array.mean())  # Output: 3.0

9. مثال عملي: تطبيق على تحليل البيانات

هنا، باستخدام بيانات مبيعات خيالية، سنُحلِّل معدلات نمو المبيعات ونستعرض اتجاهات المبيعات الشهرية.

import numpy as np
import matplotlib.pyplot as plt

sales_data = np.array([120, 150, 170, 200, 220, 180, 190, 210, 230, 250, 240, 260])

# Monthly sales growth rate
growth_rate = (sales_data[1:] - sales_data[:-1]) / sales_data[:-1] * 100
print("Monthly growth rate:", growth_rate)

# Plotting the sales data
plt.plot(range(1, 13), sales_data, marker='o')
plt.title("Monthly Sales Trend")
plt.xlabel("Month")
plt.ylabel("Sales (thousands)")
plt.grid(True)
plt.show()

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

10. الملخص

شرح هذا المقال أساسيات استخدام np.array في بايثون وتطبيقاتها في تحليل البيانات. النقاط الرئيسية هي كما يلي.

  1. الاستخدام الأساسي : إنشاء np.array وتحديد أنواع البيانات.
  2. المصفوفات متعددة الأبعاد : إنشاء ومعالجة المصفوفات ثنائية وثلاثية الأبعاد.
  3. إعادة تشكيل : طرق إعادة الشكل باستخدام reshape و flatten .
  4. العمليات والإحصاءات : عمليات على مستوى العناصر وحساب المقاييس الإحصائية.
  5. أمثلة عملية : حساب معدلات النمو وتصور بيانات المبيعات.

تشكل هذه المفاهيم الأساس لتحليل البيانات ومشاريع التعلم الآلي، لذا تأكد من الاستفادة منها. إذا رغبت في تعميق فهمك، راجع أيضًا الوثائق الرسمية لـ numpy وغيرها من المواضيع ذات الصلة.

侍エンジニア塾