عملية حسابية بسيطة


عملية حسابية بسيطة

يمكنك استخدام العمليات الحسابية + - * / مباشرة بين مصفوفات NumPy ، لكن هذا القسم يناقش امتدادًا لنفسه حيث لدينا وظائف يمكن أن تأخذ أي كائنات تشبه المصفوفات مثل القوائم ، والصفوف ، وما إلى ذلك ، وإجراء العمليات الحسابية بشروط .

حسابي مشروط: يعني أنه يمكننا تحديد الشروط التي يجب أن تحدث فيها العملية الحسابية.

تأخذ جميع الوظائف الحسابية التي تمت مناقشتها whereمعلمة يمكننا من خلالها تحديد هذا الشرط.


إضافة

تجمع add()الدالة محتويات مصفوفتين ، وتعيد النتائج في مصفوفة جديدة.

مثال

أضف القيم الموجودة في arr1 إلى القيم الموجودة في arr2:

import numpy as np

arr1 = np.array([10, 11, 12, 13, 14, 15])
arr2 = np.array([20, 21, 22, 23, 24, 25])

newarr = np.add(arr1, arr2)

print(newarr)

سيعود المثال أعلاه [30 32 34 36 38 40] وهي مجموع 10 + 20 ، 11 + 21 ، 12 + 22 إلخ.


الطرح

تطرح الدالة القيم من مصفوفة subtract()واحدة مع القيم من مصفوفة أخرى ، وتعيد النتائج في مصفوفة جديدة.

مثال

اطرح القيم الموجودة في arr2 من القيم الموجودة في arr1:

import numpy as np

arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 = np.array([20, 21, 22, 23, 24, 25])

newarr = np.subtract(arr1, arr2)

print(newarr)

سيعرض المثال أعلاه [-10 -1 8 17 26 35] وهي نتيجة 10-20 ، 20-21 ، 30-22 إلخ.



عمليه الضرب

تضرب multiply()الدالة القيم من مصفوفة واحدة مع القيم من مصفوفة أخرى ، وتعيد النتائج في مصفوفة جديدة.

مثال

اضرب القيم الموجودة في arr1 بالقيم الموجودة في arr2:

import numpy as np

arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 = np.array([20, 21, 22, 23, 24, 25])

newarr = np.multiply(arr1, arr2)

print(newarr)

سيعرض المثال أعلاه [200420660920 1200 1500] وهو نتيجة 10 * 20 ، 20 * 21 ، 30 * 22 إلخ.


قسم

تقسم الدالة القيم من مصفوفة divide()واحدة مع القيم من مصفوفة أخرى ، وتعيد النتائج في مصفوفة جديدة.

مثال

قسّم القيم الموجودة في arr1 بالقيم الموجودة في arr2:

import numpy as np

arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 = np.array([3, 5, 10, 8, 2, 33])

newarr = np.divide(arr1, arr2)

print(newarr)

سيعود المثال أعلاه [3.33333333 4. 3. 5. 25. 1.81818182] وهي نتيجة 10/3 ، 20/5 ، 30/10 إلخ.


سلطة

تقوم power()الدالة برفع القيم من المصفوفة الأولى إلى قوة قيم المصفوفة الثانية ، وتعيد النتائج في مصفوفة جديدة.

مثال

ارفع القيم الموجودة في arr1 إلى قوة القيم في arr2:

import numpy as np

arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 = np.array([3, 5, 6, 8, 2, 33])

newarr = np.power(arr1, arr2)

print(newarr)

سيعرض المثال أعلاه [1000 3200000 729000000 6553600000000 2500 0] وهي نتيجة 10 * 10 * 10، 20 * 20 * 20 * 20 * 20، 30 * 30 * 30 * 30 * 30 * 30 إلخ.


بقية

تعيد كل mod()من remainder()الدالتين والدالة باقي القيم في المصفوفة الأولى المطابقة للقيم الموجودة في المصفوفة الثانية ، وتعيد النتائج في مصفوفة جديدة.

مثال

إعادة الباقي:

import numpy as np

arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 = np.array([3, 7, 9, 8, 2, 33])

newarr = np.mod(arr1, arr2)

print(newarr)

سيعود المثال أعلاه [1 6 3 0 0 27] وهو الباقي عند قسمة 10 على 3 (10٪ 3) ، 20 مع 7 (20٪ 7) 30 مع 9 (30٪ 9) إلخ.

تحصل على نفس النتيجة عند استخدام remainder()الوظيفة:

مثال

إعادة الباقي:

import numpy as np

arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 = np.array([3, 7, 9, 8, 2, 33])

newarr = np.remainder(arr1, arr2)

print(newarr)

الحاصل و Mod

ترجع divmod()الدالة كلا من حاصل القسمة والوضع. القيمة المعادة هي صفيفتان ، المصفوفة الأولى تحتوي على حاصل القسمة والمصفوفة الثانية تحتوي على المصفوفة.

مثال

إعادة حاصل القسمة والنمط:

import numpy as np

arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 = np.array([3, 7, 9, 8, 2, 33])

newarr = np.divmod(arr1, arr2)

print(newarr)

سيعود المثال أعلاه:
(المصفوفة ([3 ، 2 ، 3 ، 5 ، 25 ، 1]) ، المصفوفة ([1 ، 6 ، 3 ، 0 ، 0 ، 27]))
المصفوفة الأولى تمثل حاصل القسمة ، ( قيمة عدد صحيح عندما تقسم 10 على 3 ، 20 مع 7 ، 30 مع 9 إلخ.
المصفوفة الثانية تمثل باقي الأقسام نفسها.


القيم المطلقة

تقوم كل من absolute()الدالتين abs()والوظائف بنفس عنصر العملية المطلقة ولكن يجب أن نستخدمها absolute() لتجنب الالتباس مع بيثون الذي يحمل في ثناياه عواملmath.abs()

مثال

إعادة حاصل القسمة والنمط:

import numpy as np

arr = np.array([-1, -2, 1, 2, 3, -4])

newarr = np.absolute(arr)

print(newarr)

سيعود المثال أعلاه [1 2 1 2 3 4].