اذهب إلى المحتوى

Fahmy Mostafa

الأعضاء
  • المساهمات

    91
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    1

كل منشورات العضو Fahmy Mostafa

  1. بعد إنشاء مصفوفة Numpy وحفظها كـ Django context variable، أتلقى الخطأ التالي عند تحميل صفحة الويب: array([ 0, 239, 479, 717, 952, 1192, 1432, 1667], dtype=int64) is not JSON serializable ماذا الذي يعنيه هذا الخطأ؟ وهل يجب أن أقوم بتغير نوع المصفوفة من خلال مكتبة json حتى أتمكن من التعامل مع هذا الكائن؟
  2. أواجه مشكلة في عمل allocate مصفوفات ضخمة في numpy على Ubuntu 18 بينما لا أواجه نفس المشكلة على MacOS. أحاول عمل allocate memory لمصفوفة عددية ذات شكل (156816 ، 36 ، 53806) من خلال الكود التالي: >>> import numpy as np >>> np.zeros((156816, 36, 53806), dtype='uint8') أحصل على الخطأ التالي على Ubuntu : numpy.core._exceptions.MemoryError: Unable to allocate array with shape (156816, 36, 53806) and data type uint8 بينما على MacOS أحصل على التالي: >>> import numpy as np >>> np.zeros((156816, 36, 53806), dtype='uint8') array([[[0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], ..., [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0]], [[0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], ..., [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0]], [[0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], ..., [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0]], ..., [[0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], ..., [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0]], [[0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], ..., [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0]], [[0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], ..., [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0]]], dtype=uint8) هنا الإصدارات التي لدي على كل نظام تشغيل: Ubuntu os -> ubuntu mate 18 python -> 3.6.8 numpy -> 1.17.0 mac os -> 10.14.6 python -> 3.6.4 numpy -> 1.17.0 حاولت أيضًا أن أقوم بتنفيذ الأكواد على Google Colab ولم أنجح أيضًا، ما السبب في هذا الأمر؟
  3. كيفية تحويل tensor إلى مصفوفة numpy عند استخدام Tensorflow مع Python Bindings ؟ أستعمل TensorFlow 2.x وبايثون 3.8
  4. يبدو أنه لا توجد دالة تقوم ببساطة بحساب المتوسط المتحرك moving average فيnumpy / scipy ، هل هذا الأمر صحيح؟ وكيف أقوم بحسابه عبر Numpy؟
  5. أقوم بقراءة عمودين من ملف CSV باستخدام pandas عبر readcsv() ، ثم أقوم بتخزين القيم في قاموس dictionary، تحتوي الأعمدة على سلاسل من الأرقام والحروف. توجد حالات تكون فيها الخلية فارغة. حسب ما أعتقد يجب أن تكون قيمة الخلايا الفارغة في القاموس None ولكن بدلًا من ذلك أجد أنها NaN. أليست كلمة None أفضل من ناحية وصف أن هذه الخلية فارغة عوضًا عن NaN التي تعبر عن Not a Number (حسب ما أعتقد)؟ ما الفرق بين None و NaN؟
  6. أنا أجد صعوبة في فهم كيفية عمل einsum بالضبط في مكتبة numpy. لقد ألقيت نظرة على توثيق المكتبة وبعض الأمثلة أيضًا، لكن يبدو أنها لا تقدم شرح واضح هنا مثال بسيط: x = np.einsum("ij,jk->ki", y, z) كنت أعتقد أنها سوف تكون x^T * y ولكني لست متأكد من هذا الأمر هل يمكن لأي شخص أن يطلعني على ما يحدث بالضبط هنا (وبشكل عام عند استخدام einsum)؟
  7. تحويل قائمة بايثون إلى مصفوفة باستخدام مكتبة numpy يجعل من المصفوفة المولدة من نوع object كالتالي: v = [[1], [1, 2]] np.array(v) >>> array([[1], [1, 2]], dtype=object) وعندما أحاول أن أجبرها على تعيين نوع معين كالتالي: np.array(v, dtype=np.int32) يظهر لي الخطأ التالي: ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (2,) + inhomogeneous part. ما هي الطريقة التي تمكني من تحويل المصفوفة إلى نوع int32 بدون مشكلة؟
  8. لدي كود كالتالي: import pandas as pd import numpy as np dff = pd.DataFrame(np.random.randn(1,2),columns=list('AB')) واحصل على النتيجة التالية: A B 0 -1.284531 1.923908 وعندما أقوم بكتابة : dff.mean(axis=1) أحصل على النتيجة التالية: 0 0.319689 dtype: float64 كنت أعتقد أن axis=1 تشير إلى الأعمدة، لذا ما الذي تعنيه axis عند إستعمال مصفوفة numpy مع pandas؟
  9. أريد أن أحصل على المسار الكامل لسكريبت بايثون الحالي، لنفترض أني قمت بتشغيل ملف بايثون من خلال سطر الأوامر من مجلد مختلف عن الذي يحتوي على ملف بايثون كالتالي على سبيل المثال: C:\Users\fahmy> python D:\dir\pythonScript.py لاحظ أن مجلد العمل الحالي Current Working Directory في سطر الأوامر هو C:\Users\fahmy بينما مسار ملف بايثون هو D:\dir\pythonScript.py ما أريده هو الحصول على مسار ملف بايثون الأخير هذا برمجيًا، كيف يمكنني أن أقوم بذلك بغض النظر عن مكان وجوده؟
  10. أريد استخدام مدخلات من المستخدم كنمط regex للبحث في بعض النصوص. الكود الخاص بي يعمل بدون مشكلة، لكن كيف يمكنني التعامل مع الحالات التي يضع فيها المستخدم أحرفًا لها معنى في regex؟ على سبيل المثال إن قام المستخدم بإدخال نص كالتالي: (A) في هذه الحالة سوف يتم التعامل مع هذا النص على أنه مجموعة group في regex كيف يمكنني أن أقوم بإستخدام مدخلات مختلفة كالمثال السابق في regex بدون مشكلة؟
  11. هل توجد دالة تقوم بالتحقق مما إذا كائن كائن ما قابل للتكرار iterable أم لا، شيء مثل الكود التالي: isiterable(myObj) # True or False
  12. عندما أقوم بتعيين متغير بيئة وأريد الوصول إليه في تطبيق Python الخاص بي. كيف أحصل على قيمتها في كل من لينكس وويندوز؟ وكيف يمكنني التحقق من وجود متغير بيئة معين؟
  13. أواجه مشكلات في فهم كيفية إرسال مرفق بالبريد الإلكتروني attachment باستخدام Python. لقد نجحت في إرسال رسائل بريد إلكتروني بسيطة باستخدام smtplib. هل يمكن لشخص ما أن يشرح كيفية إرسال مرفق في رسالة بريد إلكتروني. وجدت بعض الشروحات الأخرى على الإنترنت ولكن لم أفهم بعد كيف يتم الأمر في بايثون. وهل يوجد حد أقصى لحجم الملفات المرفقة في البريد الإلكتروني؟
  14. لدي قائمة بسيطة كالتالي: x = [0,1,2,4,8,16,32,64,128,512,1024] كما تلاحظ لا يوجد أي عناصر مكررة في القائمة، وقررت أن أقوم بتحويلها إلى set ولكن عندما قمت بذلك من خلال دالة set وجدت أن ترتيب العناصر قد اختلف وكانت النتيجة كالتالي: >>> set(x) {0, 1, 2, 32, 4, 64, 128, 512, 8, 1024, 16} كيف يمكنني تحويل القائمة إلى set بدون أن أفقد ترتيب العناصر في القائمة؟
  15. أحاول أن أقوم بإرسال طلب من نوع post باستخدام مكتبة requests ولكن يبدو أنه لا يمكنني أن أرسل كود JSON، فقط يمكنني أرسل نصوص باستخدام المدخل data كالتالي: requests.post('https://example.com/post', data="value") كيف يمكنني أن أقوم بإرسال كود JSON مع الطلب السابق؟
  16. في كثير من الأحيان أستخدم مفسر بايثون Python interpreter لوقت طويل وبعد قليل من الوقت أجد أنه قد امتلأ بكثير من البيانات، وتسألت هل توجد طريقة لعمل clear لمفسر بايثون؟ مثل أمر cls في powershell أو clear في سطر أوامر لينكس. حاولت أن أبحث عن دالة مثل clear أو cls باستخدام كل من help() و dir() لكن لم أجد أي شيء، كما حاولت أن أستخدم الأمر Ctrl + L ولكن يبدو انه لا يعمل في ويندوز. هل توجد طرق أخرى للقيام بهذا الأمر؟
  17. تعلمت كيف أقوم بعمل decorator في بايثون ولكن الآن تواجهني مشكلة وهي أني لا أستطيع تمرير مدخلات إلى الـ decorator، على سبيل المثال لدي دالة كالتالي مع decorator: @decorator_with_args(arg) def foo(*args, **kwargs): pass كيف يمكنني القيام بهذا الأمر؟
  18. أريد أن أقوم بطباعة الأرقام الكبيرة (أكبر من 999) بعلامة الفاصلة comma بين كل ثلاثة أرقام، على سبيل المثال الرقم 123456789 يصبح 123,456,789 مع العلم أن هذه أرقام وليست نصوص، حاولت تحويل الأرقام إلى نصوص ثم تقسيم هذا النص إلى أجزاء وإعادة دمجها ولكن أعتقد أن هناك طريقة أسهل وأسرع للقيام بهذا الأمر
  19. كيف يمكنني كتابة تعليمات وجمل بايثون على أكثر من سطر، لأن هذه التعليمات تأخذ مساحة كبيرة في سطر واحد ويصبح من الصعب تتبع الكود، على سبيل المثال: كيف يمكنني عمل شيء مثل هذا: x = 1 + 2 + 3 + 4 + 5
  20. وجد العديد من الأكواد الفترة الماضية تستخدم OOP ولكن عند إنشاء صنف أجد أنه يتم إنشائه كالتالي: class MyClass(object): pass في الكود السابق لماذا يتم إستخدام object وهل يوجد فرق إن لم أستخدم هذا الكائن ومتى يجب أن أقوم بإستخدام نفس الطريقة السابقة؟
  21. هل توجد طريقة تمكنني من إستخدام دالة range لإنتاج أرقام متتالية بمعدل زيادة 0.1، على سبيل المثال: >>> for i in range(0, 1, 0.1): ... print(i) وبالتالي يتم طباعة قائمة كالتالي: 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
  22. لدي كود بايثون وأريد أن أعرف حجم الذاكرة الذي يستهلكه الكود، أو على الأقل يتم إنتاج تقرير بسيط يوضح أي الدوال أو الـ blocks التي تستهلك الذاكرة بشكل كبير، وهذا لكي أستطيع أن أعرف أي جزء يجب أن يتم إصلاحه أو إعادة كتابته بحثت في جوجل ووجدك مكتبات مثل PySizer وHeapy ولكن لم أعرف كيف أستعملها أو أيهما أفضل (أسرع أو ينتج تقرير مفصل أكثر)؟
  23. أريد دالة نمطية من numpy يمكنها العثور على القيمة العظمى/الصغرى المحلية local maxima/minima في مصفوفة عددية أحادية الأبعاد، هل توجد دالة / طريقة تقوم بهذا الأمر من خلال مكتبة Numpy فقط؟
  24. مكتبة numpy مفيدة للغاية في التعامل مع المصفوفات والأرقام، يمكنها التعامل مع مصفوفات كبيرة للغاية قد تصل إلى 1000 × 1000 بدون ادنى مشكلة، لكن يبدو أني أواجهة مشكلة عند التعامل مصفوفات أكبر من هذا (5000 × 5000 على سبيل المثال) بالتأكيد بسبب حجم الذاكرة العشوائية الصغير لدي، هل توجد طريقة أفضل لإنشاء مصفوفات غاية في الضخامة (مليون صف × مليون عمود على سبيل المثال)، دون الحاجة إلى مساحة ذاكرة عشوائية ضخمة؟
  25. لدي مصفوفة Numpy كبيرة تحتوي على عمودين فقط كالتالي: a = np.array([ [1, 2,], [3, 4] # ... ]) كيف يمكنني إضافة عمود لهذه المصفوفة بقيم عشوائية باستخدام Numpy للحصول على أسرع نتيجة؟
×
×
  • أضف...