numpy --- عمليات المصفوفات المتوافقة مع numpy¶
توفر الوحدة الفرعية numpy من ulab واجهة برمجة تطبيقات متوافقة مع numpy مبنية حول نوع المصفوفة متعددة الأبعاد ndarray. وهي تنفذ مجموعة فرعية منتقاة من numpy الخاصة بـ CPython: إنشاء المصفوفات، والعمليات الحسابية على مستوى العناصر، والاختزالات والإحصاءات، والجبر الخطي، وتحويلات فورييه السريعة، وتوليد الأرقام العشوائية، وملاءمة كثيرات الحدود، والإدخال/الإخراج الأساسي.
تُستورد الوحدة الفرعية اصطلاحاً باسم np
from ulab import numpy as np
a = np.array([1, 2, 3, 4], dtype=np.float)
b = np.linspace(0, 1, num=5)
c = np.dot(a.reshape((2, 2)), a.reshape((2, 2)))
كل وسيط dtype هو أحد الثوابت الصحيحة المعروضة على مستوى الوحدة: numpy.bool، وnumpy.uint8، وnumpy.int8، وnumpy.uint16، وnumpy.int16، وnumpy.float (الافتراضي)، و(عند تجميع دعم الأعداد المركبة) numpy.complex. ويشير نوع النتيجة ndarray إلى numpy.ndarray.
الوحدات الفرعية¶
صنف ndarray --- المصفوفة متعددة الأبعاد¶
إن ndarray هو الحاوية متعددة الأبعاد المدركة للنوع dtype والتي تشكل جوهر numpy / ulab. تُخزَّن البيانات في كتلة متجاورة يصف تفسيرها ترويسة صغيرة (dtype، وshape، وstrides، وndim، وitemsize). تكتفي العديد من العمليات -- مثل reshape، وtranspose، والتقطيع -- بتعديل هذه الترويسة فقط، ولذلك فهي زهيدة التكلفة جداً؛ أما الطرق التي تخصص ذاكرة جديدة (copy، وflatten، ومعظم العمليات الحسابية) فتُرجع مصفوفة كثيفة جديدة.
يمكن الوصول إلى النوع نفسه عبر ulab.ndarray، وnumpy.ndarray، و(ضمن هذه الصفحة) ببساطة ndarray.
- class numpy.ndarray(values: ndarray | bytes | list | tuple, *, dtype: int = numpy.float)¶
إنشاء
ndarrayجديدة.- المعاملات:
values -- البيانات المصدرية. إما
ndarrayأخرى (يجري نسخها نسخاً عميقاً، مع تحويل النوع إذا اختلفdtype) أو أي عنصر قابل للتكرار في MicroPython. تنتج العناصر المتداخلة القابلة للتكرار مصفوفات متعددة الأبعاد؛ ويجب أن تكون جميع العناصر الداخلية القابلة للتكرار بالطول نفسه وإلا يُطلقValueError.dtype -- نوع العناصر للمصفوفة الجديدة. أحد الأعداد الصحيحة لرمز النوع المعروضة بواسطة
numpy(numpy.bool، وnumpy.uint8، وnumpy.int8، وnumpy.uint16، وnumpy.int16، وnumpy.float، و-- عند الدعم --numpy.complex)، أو نسخةdtype. القيمة الافتراضية هيnumpy.float.
إن الدالة المصنّعة
numpy.arrayهي الطريقة الاصطلاحية لإنشاءndarray؛ وهي تمرر إلى هذا المُنشئ.- byteswap(*, inplace: bool = False) ndarray¶
تبديل ترتيب البايتات لكل عنصر. بالنسبة لمصفوفات
uint16، وint16، وfloat، وcomplexيعكس هذا ترتيب البايتات لكل عنصر، وهو مفيد عند استهلاك بيانات من الطرفيات التي لا يطابق ترتيب البايتات فيها ترتيب المتحكم الدقيق. أما بالنسبة لأنواع dtype أحادية البايت (bool، وuint8، وint8) فهذه عملية لا تأثير لها تُرجع عرضاً أو نسخة.إذا كانت
inplaceتساويFalse(الافتراضي) تُرجعndarrayجديدة وتُترك الأصلية دون مساس. وإذا كانتinplaceتساويTrueتُبدَّل بايتاتselfفي مكانها ويُرجع عرض لـself.
- copy() ndarray¶
إرجاع نسخة عميقة كثيفة جديدة من المصفوفة. تمتلك النسخة بياناتها الخاصة؛ ولا تؤثر التعديلات عليها في الأصل.
- flatten(*, order: str = 'C') ndarray¶
إرجاع نسخة أحادية البعد جديدة من المصفوفة.
- المعاملات:
order -- تتنقل
'C'(الافتراضي) عبر البيانات بترتيب C (يتغير المحور الأخير أسرع)؛ وتتنقل'F'عبرها بترتيب Fortran (يتغير المحور الأول أسرع).
- reshape(shape: int | tuple[int, ...]) ndarray¶
إرجاع عرض للمصفوفة بشكل جديد. يجب أن يبقى العدد الإجمالي للعناصر دون تغيير وإلا يُطلق
ValueError. متاح فقط عندماULAB_MAX_DIMS > 1. يكافئ الإسناد إلىshape.
- sort(*, axis: int | None = -1) None¶
فرز المصفوفة في مكانها.
- المعاملات:
axis -- المحور الذي يجري الفرز على امتداده. تفرز
-1(الافتراضي) على امتداد المحور الأخير؛ بينما تسطحNoneالمصفوفة أولاً ثم تفرزها.
- tobytes() bytearray¶
إرجاع
bytearrayيشكل اسماً مستعاراً لمخزن البيانات الأساسي للمصفوفة. تعدل الكتابة عبرbytearrayالمُرجعة المصفوفة في مكانها. يُطلقValueErrorإذا لم تكن المصفوفة كثيفة (مثل عرض مقتطع).
- tolist() list¶
إرجاع محتويات المصفوفة على شكل
listبايثونية (قد تكون متداخلة). يساوي عمق التداخلndim.
- transpose() ndarray¶
إرجاع منقول المصفوفة (المحاور معكوسة). بالنسبة للمصفوفات أحادية البعد يُرجع هذا
self. متاح فقط عندماULAB_MAX_DIMS > 1. والسمةTهي اختصار لهذه الطريقة.
- dtype: dtype | int¶
نوع بيانات عناصر المصفوفة. يُرجع نسخة
dtypeعندما يُبنى البرنامج الثابت مع تفعيلULAB_HAS_DTYPE_OBJECT، وإلا يُرجع رمز النوع الأساسي أحادي الحرف على شكل عدد صحيح.
- flat: flatiter¶
مكرر مسطح يولد كل عنصر من المصفوفة بترتيب C. وخلافاً لـ
flatten()، لا يخصص التكرار عبرflatمصفوفة جديدة.
- shape: tuple[int, ...]¶
أطوال المصفوفة على امتداد كل محور. يؤدي إسناد صفّ (tuple) إلى
shapeإلى إعادة تشكيل المصفوفة في مكانها (يكافئreshape()).
- strides: tuple[int, ...]¶
عدد البايتات اللازم التقدم بها في الذاكرة على امتداد كل محور للوصول إلى العنصر التالي على ذلك المحور.
- T: ndarray¶
منقول المصفوفة؛ يكافئ
transpose().
العوامل المدعومة¶
تدعم نسخ ndarray العوامل التالية. تنشر العوامل الثنائية معاملاتها وفق قواعد البث القياسية في numpy وتتبع قواعد الترقية النوعية في numpy (مثلاً uint8 + int8 => int16، وuint16 + int16 => float)؛ والعمليات التي تتضمن معاملاً مركباً تنتج نتيجة مركبة.
حسابية (ثنائية): +، و-، و*، و/، و//، و%، و**. كما تُدعم المعاملات المنعكسة (الجهة اليمنى) والمتغيرات في المكان +=، و-=، و*=، و/=، و%=، و**=. ويُقبل كل من صيغة ndarray-مع-ndarray وصيغة ndarray-مع-عدد قياسي. والقسمة الأرضية (//) وعامل باقي القسمة (%) غير منفذين لمصفوفات complex.
المقارنة: ==، و!=، و<، و<=، و>، و>=. تُرجع كل منها ndarray منطقية بشكل البث.
على مستوى البتات (المصفوفات الصحيحة فقط): &، و|، و^. ويؤدي تطبيقها على مصفوفة float أو complex إلى إطلاق TypeError.
أحادية: + (تُرجع نسخة)، و- (نفي؛ في أنواع dtype غير المؤشرة تلتف القيم بباقي القسمة على \(2^N\))، وabs() (القيمة المطلقة على مستوى العناصر؛ في أنواع dtype غير المؤشرة تُرجع نسخة دون حساب)، و~ (عكس على مستوى البتات، لأنواع dtype الصحيحة فقط)، وlen() (تُرجع طول المحور الأول).
الفهرسة والتقطيع: تُدعم a[i]، وa[i, j, ...]، وa[start:stop:step]، والفهرسة بقناع منطقي (a[mask])، والفهرسة بمصفوفة صحيحة (المتقنة) كلها في عمليات القراءة والكتابة على حد سواء.
التكرار: يؤدي التكرار عبر ndarray إلى توليد مصفوفات فرعية على امتداد المحور الأول (عنصر واحد في كل مرة للمصفوفات أحادية البعد). استخدم flat للتكرار عبر كل عنصر قياسي بغض النظر عن الأبعاد.
عامل ضرب المصفوفات @ غير منفذ؛ استخدم numpy.dot (np.dot(a, b)) بدلاً منه.
عاملا الإزاحة (<<، و>>) غير منفذين على مستوى العوامل. استخدم numpy.left_shift وnumpy.right_shift للإزاحات الصحيحة على مستوى العناصر.
إنشاء المصفوفات¶
- numpy.array(values: ndarray | list | tuple, *, dtype: int = float) ndarray¶
إنشاء
ndarrayجديدة من عنصر متداخل قابل للتكرار من الأرقام. مُنشئ بديل مكافئ لـnumpy.ndarray.
- numpy.arange(start: int | float, stop: int | float | None = None, step: int | float = 1, *, dtype: int | None = None) ndarray¶
إرجاع قيم متباعدة بالتساوي على امتداد الفترة نصف المفتوحة
[start, stop). إذا أُعطي وسيط موضعي واحد فقط، يُعامَل كـstopمعstart = 0. وإذا حُذف dtype، فيُستنتج من المدخلات (عدد صحيح إذا كانت start وstop وstep جميعها أعداداً صحيحة وضمن المدى).
- numpy.asarray(a: ndarray | list | tuple, *, dtype: int | None = None) ndarray¶
إذا كانت a بالفعل
ndarrayيطابق نوع dtype الخاص بها dtype (أو كانت dtype تساويNone)، فأرجع a دون تغيير؛ وإلا فأنشئ مصفوفة جديدة (مع تحويل dtype المطلوب عند إعطائه). تُحوّل العناصر القابلة للتكرار كما فيnumpy.array.
- numpy.concatenate(arrays: tuple, *, axis: int = 0) ndarray¶
ضم تسلسل من
ndarrayعلى امتداد axis قائم. يجب أن تشترك جميع مصفوفات الإدخال في نفس dtype وndim والشكل على كل محور عدا axis.
- numpy.diag(a: ndarray, *, k: int = 0) ndarray¶
بالنسبة لـ a ثنائية البعد، أرجع مصفوفة أحادية البعد تحتوي على القطر k. وبالنسبة لـ a أحادية البعد، أرجع مصفوفة مربعة ثنائية البعد مع وضع a على القطر k. وقد تكون k موجبة (فوق القطر الرئيسي) أو سالبة (تحته).
- numpy.empty(shape: int | tuple[int, ...], *, dtype: int = float) ndarray¶
اسم مستعار لـ
zeros؛ يُرجع مصفوفة معبأة بالأصفار من shape وdtype. (لا تترك ulab المخزن غير مهيأ.)
- numpy.eye(N: int, M: int | None = None, k: int = 0, *, dtype: int = float) ndarray¶
إرجاع مصفوفة ثنائية البعد N × M (مربعة N × N إذا كانت M تساوي
None) بآحاد على القطر k وأصفار في غير ذلك.
- numpy.frombuffer(buffer: bytes, *, dtype: int = float, count: int = -1, offset: int = 0) ndarray¶
تفسير كائن يدعم بروتوكول المخزن المؤقت على أنه
ndarrayأحادية البعد من dtype. count هو عدد العناصر المراد قراءتها (-1يقرأ كل العناصر المتاحة)؛ ويتخطى offset ذلك العدد من البايتات في بداية المخزن المؤقت.
- numpy.full(shape: int | tuple[int, ...], fill_value: int | float | bool, *, dtype: int = float) ndarray¶
إرجاع مصفوفة جديدة من shape وdtype مع تعيين كل عنصر إلى fill_value.
- numpy.linspace(start: float, stop: float, num: int = 50, *, endpoint: bool = True, retstep: bool = False, dtype: int = float) ndarray | tuple[ndarray, float]¶
إرجاع num عينة متباعدة بالتساوي على امتداد الفترة المغلقة
[start, stop](أو نصف المفتوحة إذا كانت endpoint تساويFalse). عندما تكون retstep تساويTrue، أرجع صفاً(samples, step). وتنتج قيم start/stop المركبة مصفوفة مركبة (عند تفعيل دعم الأعداد المركبة).
- numpy.logspace(start: float, stop: float, num: int = 50, *, base: float = 10.0, endpoint: bool = True, dtype: int = float) ndarray¶
إرجاع num عينة متباعدة بالتساوي على مقياس لوغاريتمي: تبدأ النتيجة عند
base ** startوتنتهي عندbase ** stop.
- numpy.meshgrid(*xi: ndarray, indexing: str = 'xy') tuple[ndarray, ...]¶
إرجاع صفّ من مصفوفات الإحداثيات من تسلسل من مصفوفات الإحداثيات أحادية البعد. مع indexing
'xy'(الافتراضي) يُعامل أول مدخلين كإحداثيات ديكارتية وتُبدَّل محاور خرجهما؛ ومع'ij'تُستخدم الفهرسة على نمط المصفوفات. ويقابل التنفيذ المكافئ في NumPy معcopy=Trueوsparse=False.
الفحص / الطباعة¶
- numpy.get_printoptions() dict¶
إرجاع خيارات طباعة المصفوفة الحالية على شكل قاموس بالمفتاحين
thresholdوedgeitems.
- numpy.set_printoptions(*, threshold: int | None = None, edgeitems: int | None = None) None¶
تعيين خيارات طباعة المصفوفة. threshold هو الحد الأقصى لعدد عناصر المصفوفة المطبوعة بالكامل؛ وedgeitems هو عدد العناصر المعروضة عند كل طرف من المحور عند تلخيص المصفوفة.
المقارنة¶
- numpy.clip(a: ndarray | int | float, a_min: ndarray | int | float, a_max: ndarray | int | float) ndarray | int | float¶
حصر قيم a بحيث
a_min <= result <= a_max. يكافئmaximum(a_min, minimum(a, a_max))؛ ويتبع البث القواعد نفسها كما فيminimum.
- numpy.equal(x1: ndarray | int | float, x2: ndarray | int | float) ndarray | bool¶
x1 == x2على مستوى العناصر؛ يُرجعndarrayمنطقية (أو قيمة قياسيةboolإذا كان كلا المدخلين قيمتين قياسيتين). متوفرة لأغراض قابلية النقل -- يعطي العامل==على المصفوفات النتيجة نفسها.
- numpy.not_equal(x1: ndarray | int | float, x2: ndarray | int | float) ndarray | bool¶
x1 != x2على مستوى العناصر؛ النظير المنطقي لـequal.
- numpy.isfinite(x: ndarray | int | float) ndarray | bool¶
إرجاع مصفوفة منطقية (أو قيمة قياسية) تكون
Trueحيث يكون الإدخال منتهياً. والمدخلات الصحيحة منتهية دائماً.
- numpy.isinf(x: ndarray | int | float) ndarray | bool¶
إرجاع مصفوفة منطقية (أو قيمة قياسية) تكون
Trueحيث يكون الإدخال لا نهائياً. والمدخلات الصحيحة لا تكون لا نهائية أبداً.
- numpy.maximum(x1: ndarray | int | float, x2: ndarray | int | float) ndarray | int | float¶
العنصر الأكبر على مستوى العناصر لمصفوفتين / قيمتين قياسيتين. يجري بث الوسائط معاً؛ وإذا اختلفت أنواع dtype، يُرقّى الخرج.
- numpy.minimum(x1: ndarray | int | float, x2: ndarray | int | float) ndarray | int | float¶
العنصر الأصغر على مستوى العناصر لمصفوفتين / قيمتين قياسيتين؛ نظير
maximum.
الاختزالات العددية¶
- numpy.all(a: ndarray | list | tuple, *, axis: int | None = None) ndarray | bool¶
اختبار ما إذا كانت جميع العناصر على امتداد axis تُقيَّم إلى
True. معaxis=None(الافتراضي) تُختبر المصفوفة المسطحة وتُرجع قيمةboolوحيدة.
- numpy.any(a: ndarray | list | tuple, *, axis: int | None = None) ndarray | bool¶
اختبار ما إذا كان أي عنصر على امتداد axis يُقيَّم إلى
True. معaxis=Noneتُختبر المصفوفة المسطحة.
- numpy.argmax(a: ndarray | list | tuple, *, axis: int | None = None) ndarray | int¶
إرجاع فهرس العنصر الأكبر على امتداد axis. مع
axis=Noneتُسطَّح المصفوفة ويُرجع عدد صحيح وحيد.
- numpy.argmin(a: ndarray | list | tuple, *, axis: int | None = None) ndarray | int¶
إرجاع فهرس العنصر الأصغر على امتداد axis. مع
axis=Noneتُسطَّح المصفوفة ويُرجع عدد صحيح وحيد.
- numpy.argsort(a: ndarray, *, axis: int = -1) ndarray¶
إرجاع
ndarrayفهرس بأعداد صحيحة غير مؤشرة تفرز إدخالاتها a تصاعدياً على امتداد axis. وdtype الخرج هوuint16، لذلك لا يجوز أن يتجاوز أي محور 65535 عنصراً. والقيمةaxis=Noneغير مدعومة.
- numpy.diff(a: ndarray, *, n: int = 1, axis: int = -1) ndarray¶
إرجاع الفرق الأمامي المنفصل من الرتبة n لـ a على امتداد axis. يجب أن تكون n في المدى
0..9(يُخزَّن قالب التفاضل فيint8)؛ ويتقلص طول axis بمقدار n. والكلمتان المفتاحيتانprependوappendفي numpy غير منفذتين.
- numpy.flip(a: ndarray, *, axis: int | None = None) ndarray¶
إرجاع مصفوفة جديدة بترتيب عناصر معكوس على امتداد axis؛ ومع
axis=Noneتُعكس المصفوفة على امتداد كل محور.
- numpy.max(a: ndarray | list | tuple, *, axis: int | None = None, keepdims: bool = False) ndarray | int | float¶
إرجاع العنصر الأكبر على امتداد axis. مع
axis=None(الافتراضي) تُختزل المصفوفة المسطحة إلى قيمة قياسية. والكلمة المفتاحيةoutفي numpy غير منفذة.
- numpy.min(a: ndarray | list | tuple, *, axis: int | None = None, keepdims: bool = False) ndarray | int | float¶
إرجاع العنصر الأصغر على امتداد axis؛ نظير
max.
- numpy.mean(a: ndarray | list | tuple, *, axis: int | None = None, keepdims: bool = False) ndarray | float¶
إرجاع المتوسط الحسابي على امتداد axis. مع
axis=None(الافتراضي) يُرجع متوسط المصفوفة المسطحة على شكلfloat.
- numpy.median(a: ndarray, *, axis: int | None = None) ndarray | float¶
إرجاع الوسيط على امتداد axis. مع
axis=Noneتُسطَّح المصفوفة أولاً. وdtype الخرج هو float دائماً.
- numpy.roll(a: ndarray, shift: int, *, axis: int | None = None) ndarray¶
إرجاع a مع تدوير عناصرها (إزاحة دورية) بمقدار shift موضع. مع
axis=None(الافتراضي) تُسطَّح المصفوفة أولاً. وتدوّر الإزاحات السالبة في الاتجاه المعاكس.
- numpy.sort(a: ndarray, *, axis: int = -1) ndarray¶
إرجاع نسخة مفروزة من a على امتداد axis باستخدام فرز الكومة. مع
axis=Noneتُسطَّح المصفوفة أولاً. والكلمتان المفتاحيتانkindوorderفي numpy غير منفذتين.
الإحصاءات¶
- numpy.bincount(x: ndarray, *, weights: ndarray | None = None, minlength: int | None = None) ndarray¶
عد عدد مرات ظهور كل قيمة في المصفوفة x الصحيحة غير السالبة أحادية البعد. يجب أن يكون dtype الخاص بـ x هو
uint8أوuint16. إذا أُعطيت weights، يساهم كل إدخال من x بوزنه المطابق بدلاً من1ويكون الخرج من نوع dtypefloat؛ وإلا يكون الخرج من نوع dtypeuint16. وإذا أُعطيت minlength، تحتوي مصفوفة الخرج على ذلك العدد من العناصر على الأقل (الإدخالات الإضافية تكون أصفاراً).
التحويل¶
- numpy.compress(condition: ndarray | list | tuple, a: ndarray, *, axis: int | None = None) ndarray¶
إرجاع شرائح من a منتقاة على امتداد axis بواسطة condition المنطقية. مع
axis=Noneتُستخدم المصفوفة المسطحة.
التقريب¶
- numpy.interp(x: ndarray, xp: ndarray, fp: ndarray, *, left: float | None = None, right: float | None = None) ndarray¶
استيفاء خطي أحادي البعد. يجب أن تكون xp مصفوفة أحادية البعد متزايدة بشكل رتيب من القيم المستقلة؛ وتحتوي fp على القيم التابعة المقابلة؛ وx هي النقاط التي يُقيَّم عندها المُستوفى. وتتجاوز left وright القيمة المُرجعة لـ
x < xp[0]وx > xp[-1]على التوالي (القيم الافتراضية:fp[0]وfp[-1]).
الانتقاء¶
- numpy.take(a: ndarray, indices: ndarray | list | tuple, *, axis: int | None = None, out: ndarray | None = None, mode: str | None = None) ndarray¶
أخذ عناصر من a عند indices المعطاة على امتداد axis. مع
axis=Noneتُستخدم المصفوفة المسطحة. وتنتقي mode سلوك تجاوز الحدود:"raise"(الافتراضي -- إطلاقValueError)، أو"wrap"(باقي القسمة على طول المحور)، أو"clip"(الحصر ضمن المدى الصالح؛ الفهارس السالبة غير مسموح بها). وإذا أُعطيت out تُكتب النتيجة فيها.
على مستوى البتات¶
- numpy.bitwise_and(x1: ndarray, x2: ndarray) ndarray¶
عملية AND على مستوى البتات وعلى مستوى العناصر لمصفوفتين صحيحتين؛ والبث مدعوم. ويُطلق نوع dtype غير صحيح استثناءً.
- numpy.bitwise_or(x1: ndarray, x2: ndarray) ndarray¶
عملية OR على مستوى البتات وعلى مستوى العناصر لمصفوفتين صحيحتين.
- numpy.bitwise_xor(x1: ndarray, x2: ndarray) ndarray¶
عملية XOR على مستوى البتات وعلى مستوى العناصر لمصفوفتين صحيحتين.
الترشيح¶
كثير الحدود¶
الإدخال/الإخراج¶
- numpy.load(file: str) ndarray¶
قراءة مصفوفة كُتبت سابقاً بواسطة
saveمن file (تنسيق.npyالمستقل عن النظام الأساسي الخاص بـ numpy). ويُحوَّل ترتيب البايتات أثناء التشغيل إذا اختلف ترتيب بايتات الملف عن ترتيب المضيف.
- numpy.loadtxt(file: str, *, delimiter: str | None = None, comments: str = '#', max_rows: int = -1, usecols: int | ndarray | list | tuple | None = None, dtype: int = float, skiprows: int = 0) ndarray¶
قراءة بيانات عددية من ملف نصي file وإرجاعها على شكل
ndarray. القيمة الافتراضية لـ delimiter هي المسافة البيضاء؛ وcomments هو علامة تعليق السطر؛ ويحد max_rows من عدد صفوف البيانات المقروءة (-1للكل)؛ وتنتقي usecols الأعمدة بالفهرس؛ ويتخطى skiprows ذلك العدد من الصفوف الأولى. وإذا لم تكن dtype عشرية، تُحوَّل القيم بالتقريب.
- numpy.save(file: str, a: ndarray) None¶
حفظ a في file بتنسيق
.npyالمستقل عن النظام الأساسي الخاص بـ numpy.
- numpy.savetxt(file: str, a: ndarray, *, delimiter: str = ' ', header: str | None = None, footer: str | None = None, comments: str = '# ') None¶
كتابة a في file كنص. يفصل delimiter القيم ضمن الصف؛ وتُكتب header وfooter، إذا أُعطيتا، قبل/بعد البيانات، كل منها مسبوقة بـ comments. وتُكتب القيم كأعداد عشرية بفاصلة عائمة.
مساعدات الأعداد المركبة¶
تتوفر هذه الدوال فقط عندما تُجمَّع ulab مع دعم الأعداد المركبة (ULAB_SUPPORTS_COMPLEX).
- numpy.real(val: ndarray) ndarray¶
إرجاع الجزء الحقيقي من val. بالنسبة لإدخال من نوع dtype حقيقي، يُرجع نسخة تحافظ على dtype؛ وبالنسبة لإدخال مركب، يُرجع
ndarrayعشرية.
- numpy.imag(val: ndarray) ndarray¶
إرجاع الجزء التخيلي من val. بالنسبة لإدخال من نوع dtype حقيقي، يُرجع مصفوفة أصفار بنفس dtype؛ وبالنسبة لإدخال مركب، يُرجع
ndarrayعشرية.
الدوال الشاملة¶
دوال رياضية على مستوى العناصر. تقبل كل منها قيمة قياسية أو ndarray وتُرجع نتيجة بشكل مطابق (قيمة قياسية عشرية لإدخال قياسي، وndarray لإدخال مصفوفة). عند الاستدعاء بـ ndarray، تكون النتيجة ndarray عشرية جديدة بفاصلة عائمة؛ ويمكن تمرير كلمة مفتاحية اختيارية out لكتابة النتيجة في ndarray عشرية مخصصة مسبقاً بنفس الحجم.
- numpy.acos(x: ndarray | float, /) ndarray | float¶
حساب جيب التمام العكسي (قوس جيب التمام) لكل عنصر من x؛ والنتيجة بالراديان.
- numpy.arctan2(y: ndarray | float, x: ndarray | float, /) ndarray | float¶
حساب الظل العكسي ذي الوسيطين
atan2(y, x)على مستوى العناصر؛ ويدعم البث بين المدخلين.
- numpy.around(x: ndarray, /, decimals: int = 0) ndarray¶
تقريب عناصر الـ
ndarrayx إلى العدد المعطى من decimals؛ ويجب أن يكون الوسيط الأولndarray.
- numpy.asin(x: ndarray | float, /) ndarray | float¶
حساب الجيب العكسي (قوس الجيب) لكل عنصر من x؛ والنتيجة بالراديان.
- numpy.atan(x: ndarray | float, /) ndarray | float¶
حساب الظل العكسي (قوس الظل) لكل عنصر من x؛ والنتيجة بالراديان.
- numpy.ceil(x: ndarray | float, /) ndarray | float¶
حساب السقف (أصغر عدد صحيح ليس أقل من القيمة) لكل عنصر من x.
- numpy.exp(x: ndarray | float, /) ndarray | float¶
حساب الدالة الأسية
e**xلكل عنصر من x؛ وقد يُرجعndarrayمركبة عند إعطائه إدخالاً مركباً (إذا كان دعم الأعداد المركبة مفعّلاً).
- numpy.expm1(x: ndarray | float, /) ndarray | float¶
حساب
exp(x) - 1لكل عنصر من x بدقة محسّنة قرب الصفر.
- numpy.floor(x: ndarray | float, /) ndarray | float¶
حساب الأرضية (أكبر عدد صحيح ليس أكبر من القيمة) لكل عنصر من x.
- numpy.sinc(x: ndarray | float, /) ndarray | float¶
حساب دالة sinc المعيارية
sin(pi*x) / (pi*x)لكل عنصر من x.