ufuncs في NumPy

什么是 ufuncs?

ufuncs 指的是“通用函数”(Universal Functions),它们是对 ndarray 对象进行操作的 NumPy 函数。

为什么要使用 ufuncs?

ufunc 用于在 NumPy 中实现矢量化,这比迭代元素要快得多。

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

ufuncs تقبل أيضًا معلمات أخرى، مثل:

where مصفوفة من القيم الحقيقية أو الشروط، لتحديد أين يجب إجراء العمليات.

dtype تحديد نوع العنصر للإرجاع.

out القيمة التي يجب أن يتم نسخها إلى مصفوفة الإخراج.

ما هو التوجيه؟

تحويل جمل التكرار إلى عمليات قائمة على المتجهات يُدعى التوجيه.

بسبب تحسين CPU الحديثة لهذه العمليات، فإنها أسرع.

جمع عناصر القوائم الثنائية:

قائمة 1: [1, 2, 3, 4]

قائمة 2: [4, 5, 6, 7]

طريقة واحدة هي مرور عبر القوائم الثنائية، ثم جمع كل عنصر.

مثال

إذا لم يكن هناك ufunc، يمكننا استخدام ميزات Python المدمجة zip() الطريقة:

x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = []
للمقارنة، j في zip(x, y):
  z.append(i + j)
print(z)

تشغيل المثال

لهذا، يوجد في NumPy ufunc يُدعى add(x, y)، وسيتم إرجاع نفس النتيجة.

مثال

من خلال ufunc، يمكننا استخدام add() الوظيفة:

import numpy as np
x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = np.add(x, y)
print(z)

تشغيل المثال