Hani Dabash 💻
Hani Dabash 💻

@HaniDabash

16 تغريدة 46 قراءة May 23, 2020
هذا الـ #ثريد للمهتمين بتحليل البيانات بالـ #Python
وهو مجرد مقدمة .. بأتكلم فيه عن مكتبة NumPy المهمة جداً للتعامل مع الـArrays ..
بصراحة راح تسهل عليكم الكثير من العمليات وتختصر الكثير من الأكواد ..
المكتبة تتعامل مع جميع أنواع الـArrays .. البعد والبعدين والثلاثة أبعاد ..
بدايةً عشان تقدر تتعامل مع الـ NumPy لازم أول شيء تثبت بيئة العمل وعندك خيارين مناسبة جداً وهم
Anaconda
أو
SciPy
لكن أنا بأمشي مع Anaconda لأنه هي البيئة اللي أتعاملت معها لكن عندك الخيار الآخر إذا ماعجبتك بيئة Anaconda ..
👇
anaconda.com
scipy.org
أنا ماراح أفصل في عملية التثبيت لأنه غالباً المهتم بتحليل البيانات راح يكون غالباً عارف كيف يثبت التوزيعات اللي يحتاجها .. واللي يحتاج مساعدة يتواصل ..
أهمية NumPy تكمن في أنه تقريباً جميع المكتبات في PyData تعتمد على NumPy بشكل أو بآخر ..
أولاً عليك استدعاء المكتبة لاستعمالها كالتالي مثلاً
import numpy as np
مع العلم إنه بامكانك تسميتها ماتشاء بعد as .. لكن للتسهيل وضعتها np ..
الآن كمثال بسيط إذا أردنا إنشاء Array مرتب من 0 إلى 10
بكل بساطة تكتب
np.arange(0,10)
لكن ماذا لو أردته مرتب لكن تريد هناك مسافات بين الأرقام مثلاً أن يقثز خطوتين ثم يسجل الرقم في الـ Array ..
الحل
np.arange(0,10,2)
حيث يكون الـArgument الثالث هو عدد القفزات ..
مع هذه الأمثلة المتعددة راح تلاحظ قد ايش المكتبة تسهل عليك وتختصر عليك أسطر من الأكواد لإنشاء انواع متعددة من الـArrays وإجراء العمليات عليها ..
وغالباً ماراح تتجاوز السطر الواحد فقط 😍
الآن إذا مثلاً أردت Array مكون من 16 صفر من البعد الثاني لتجري عليه عمليات جمع لاحقاً أو غيرها من العمليات ..
ستكتب فقط
np.zeros((4,4))
أي بمعنى 4 صفوف و 4 أعمدة من الأصفار ..
لكن إذا أردتها واحدات ..
ستكتب
np.ones((4,4))
مثل
my_ones = np.ones((4,4))
إذا أردته مثلاً من البعد الثالث
3D Array
ستكتب ببساطة argument ثالث ليصبح لديك 3 صفوف 3 أعمدة 3 طبقات ..
ناخذ هنا مثال متقدم قليلا عن ماسبق ..
إذا عندنا Array مكون من 50 رقم عشوائي مابين 1 و 100 ..
وطريقة انشاءه كالتالي :
my_array = np.random.randint(100, size=(50))
وهو One denominational ونريد تحويله لـ Two denominational
تستعمل الـmethod في NumPy اسمها reshape
يتبع ..
الـ method reshape تعطيها عدد الصفوف والأعمدة
*مع الإنتباه لمساواة عدد العناصر لعدد الخلايا الناتج من الصفوف والأعمدة ..
وبكذا يتحول الـArray من 1D إلى 2D ..
الآن بأتطرق لموضوع العمليات على الـArray ..
إذا مثلاً عندك 7 عمال رواتبهم من 1000 إلى 3000 في Array ..
وتبغى تحسب لهم عيدية 500 لكل شخص فيهم ..
العملية بكل بساطة كالتالي
my_array + 500
وبالمثل إذا تبغى تخصم منهم راح تنقص العدد .. وبكذا تتم باقي العمليات الحسابية على الـArray
ومن أفيد الاستعمالات للـNumPy هي عمليات المقارنة ..
على نفس مثال العمال .. إذا تبغى تطلع العمال الذين تزيد مرتباتهم عن 2500 في الـArray
تكتب الأمر
my_array > 2500
وكذا تتم باقي عمليات المقارنة مثل أصغر ويساوي وأكبر أو يساوي .. إلخ ..
طبعاً تقدر تخزن القيم الـboolean في متغير مستقل .. وبكذا تفلتر الـArray الأساسي بهذا المتغير وتستخرج منه البيانات ..
هذه كانت نبذة بسيطة جداً عن الـNumPy ولو اكتب من اليوم لين بكرا ماراح أغلق من الميزات الرهيبة اللي تقدمها لنا .. خصوصا إذا استعملتها مستقلاً ودمجتها مع مكتبات مثل Pandas وغيرها .. وهذا شيء لابد منه أساسا إذا أنت مقبل على مجال الـ #DataScience ..
بالتوفيق جميعاً .. واسأل الله أني وفقت في نقل المعلومة ولو بشكل بسيط ..

جاري تحميل الاقتراحات...