تقنية تصور LuckyTemplates: تعرف على كيفية إنشاء لوحات تصميم الخلفية
تعرف على تقنية تصور LuckyTemplates هذه حتى تتمكن من إنشاء قوالب الخلفية واستيرادها إلى تقارير LuckyTemplates الخاصة بك.
تعد عملية ضرب القوائم في Python عملية شائعة عند إجراء حسابات رياضية أو حل المشكلات في معالجة البيانات. هناك طرق متعددة لتحقيق هذه المهمة ، اعتمادًا على متطلباتك والمكتبات المتاحة لديك.
لمضاعفة القوائم في Python ، يمكنك استخدام وظائف الحلقات ، وسرد الفهم ، والرمز البريدي ، ووظائف الخريطة ، أو وحدة functools المدمجة. يمكنك أيضًا استخدام وظائف من مكتبة Python خارجية مثل NumPy.
ستوضح لك هذه المقالة العديد من الطرق المختلفة لمضاعفة القوائم ، كل منها بمثال رمز ونتائج موضحة.
هيا بنا نبدأ!
جدول المحتويات
2 أنواع الضرب في القائمة العددية في بايثون
قبل أن نتعمق في الطرق المحددة ، يجب أن تفهم نوع الضرب في القائمة الذي تحققه.
لدى Python العديد من المفاهيم المختلفة التي تقع تحت المصطلح الواسع لضرب القائمة. يتضمن تكرار القوائم أو تحقيق المنتج الديكارتي للعناصر داخل قائمة.
تركز هذه المقالة بدلاً من ذلك على نوعين من الضرب الحسابي للعناصر داخل القائمة:
الضرب بالقيمة
الضرب بالعناصر
دعونا نلقي نظرة سريعة على هذين المفهومين.
1. الضرب بالقيمة
عندما يكون لديك قائمة من الأعداد الصحيحة ، قد ترغب في ضرب كل عنصر في قيمة معينة. على سبيل المثال ، لديك قائمة [1 ، 2 ، 3] وتريد ضرب كل عنصر في القيمة 3.
يمكنك محاولة (بشكل غير صحيح) استخدام عامل الضرب كما في هذا الجزء من الكود:
list1 = [1, 2, 3]
result = list1 * 3
قد تندهش من أن النتيجة هي [1 ، 2 ، 3 ، 1 ، 2 ، 3 ، 1 ، 2 ، 3]. هذا هو المعروف باسم قائمة النسخ المتماثل .
2. الضرب في قائمة العناصر
افترض أن لديك قائمتين: [1 ، 2 ، 3] و [4 ، 5 ، 6]
تريد مضاعفة العناصر في نفس الفهرس داخل القائمة لإنتاج [4 ، 10 ، 18] كنتيجة.
إذا حاولت مضاعفة قائمتين من قوائم Python معًا باستخدام عامل التشغيل "*" ، فستتلقى خطأ:
TypeError: لا يمكن ضرب التسلسل بغير int من النوع "list"
هذا لأن عامل الضرب غير مصمم للعمل مع القوائم بالطريقة التي يعمل بها مع الأعداد الصحيحة أو العائمة. بدلاً من ذلك ، تتطلب قوائم الضرب عملية تُعرف باسم الضرب حسب العنصر.
يزاوج الضرب بالعناصر العناصر المقابلة من قائمتين ويضربهما معًا ، مكونًا قائمة جديدة.
الآن بعد أن فهمت هذين المفهومين. دعونا نعمل من خلال مجموعة من التقنيات لتحقيق النتائج الصحيحة.
كيفية استخدام For Loop إلى عناصر قائمة متعددة في Python
افترض أنك تريد ضرب عناصر القائمة بقيمة. في هذا الأسلوب ، يمكنك تكرار العناصر باستخدام حلقة for وضرب كل عنصر في قيمة ثانية.
هذا مثال بقائمة واحدة. متغير النتيجة يحتفظ بقائمة المخرجات.
list1 = [1, 2, 3, 4]
factor = 3
result = []
for element in list1:
result.append(element * factor)
في هذه الحالة ، ستكون قائمة النتائج [3 ، 6 ، 9 ، 12].
كيفية استخدام قائمة الفهم من أجل الضرب
توفر عمليات استيعاب القائمة طريقة موجزة لإجراء النوع العددي لمضاعفات القائمة. تحصل على نفس النتيجة عند استخدام حلقة for ، ولكن بتركيب أكثر إحكاما.
إليك المثال السابق باستخدام قائمة الفهم:
list1 = [1, 2, 3, 4]
factor = 3
result = [element * factor for element in list1]
ينتج عن هذا الرمز نفس الإخراج كما كان من قبل: [3 ، 6 ، 9 ، 12].
كيفية استخدام وظيفة Zip لمضاعفة العناصر
إذا كانت لديك قائمتان من الأعداد الصحيحة ، فقد ترغب في مضاعفة عناصر القوائم. هذا يعني أنك تضرب العنصر الأول في القائمة الأولى في العنصر الأول في القائمة الثانية وهكذا مع العناصر الموجودة في نفس الموضع.
يمكن للوظيفة zip () تحقيق ذلك عند دمجها مع قائمة الفهم.
تجمع الوظيفة بين عناصر قائمتين من قوائم الإدخال ، مما يسمح لك بالمرور فوقها بشكل متوازٍ. إليك مثال على استخدام قوائم من نفس الحجم:
list1 = [1, 2, 3, 4]
list2 = [2, 3, 4, 5]
result = [a * b for a, b in zip(list1, list2)]
في هذه الحالة ، سيحتفظ المتغير الناتج بالقائمة الناتجة: [4 ، 10 ، 18].
العمل مع Tuples و Constructors
في بعض الأحيان ، قد تضطر إلى التعامل مع القوائم التي تحتوي على مجموعات بدلاً من الأعداد الصحيحة البسيطة.
لضرب قائمتين من المجموعات ، يمكنك استخدام توليفة من:
وظيفة zip ()
صانعي tuple
قائمة الفهم
هذا مثال:
list1 = [(1, 2), (3, 4)]
list2 = [(5, 6), (7, 8)]
result = [tuple(a * b for a, b in zip(t1, t2)) for t1, t2 in zip(list1, list2)]
وهذه هي النتيجة: [(5 ، 12) ، (21 ، 32)].
كيفية استخدام خريطة ووظيفة لامدا في بايثون
تعد وظيفة الخريطة في Python طريقة ملائمة لتطبيق دالة على كل عنصر في عنصر قابل للتكرار مثل القائمة.
دالة لامدا في بايثون هي وظيفة مجهولة صغيرة. هذا يعني أنها وظيفة بدون اسم.
لمضاعفة قائمتين من حيث العناصر ، يمكنك الجمع بين وظائف map و lambda:
list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = list(map(lambda x, y: x * y, list1, list2))
سيحتوي متغير النتيجة على القوائم المضاعفة: [4 ، 10 ، 18].
كيفية استخدام وحدة المشغل في بايثون
توفر وحدة المشغل ثروة من الوظائف المفيدة للعمل مع أنواع وأنواع مختلفة من البيانات.
يمكن استخدام الدالة Operator.mul () لمضاعفة قوائم الأعداد الصحيحة عند دمجها مع وظيفة الخريطة.
import operator
list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = list(map(operator.mul, list1, list2))
في هذا المثال ، تقوم باستيراد وحدة المشغل واستخدام الوظيفة mul () جنبًا إلى جنب مع وظيفة map () المضمنة في Python لمضاعفة كل عنصر من القائمتين.
سيحتوي متغير النتيجة على القوائم المضاعفة: [4 ، 10 ، 18].
مكتبة NumPy: وظائف الصفيف والمضاعفة
مكتبة NumPy هي مكتبة خارجية قوية في Python ، وتستخدم على نطاق واسع للحسابات الرقمية والعمل مع المصفوفات. هذه المكتبة فعالة بشكل خاص عند التعامل مع المصفوفات الكبيرة أو المصفوفات متعددة الأبعاد.
لاستخدام NumPy ، يمكنك تثبيته باستخدام النقطة:
pip install numpy
لإجراء الضرب حسب العناصر في قائمتين باستخدام NumPy ، اتبع الخطوات العامة التالية:
قم بتحويل كل قائمة إلى مصفوفة NumPy باستخدام numpy.array () .
نفذ عملية الضرب باستخدام دالة الضرب في NumPy.
اختياريًا ، قم بتحويل النتيجة مرة أخرى إلى قائمة Python باستخدام طريقة tolist ()
هذا مثال على الكود:
import numpy as np
list1 = [1, 2, 3]
list2 = [4, 5, 6]
arr1 = np.array(list1)
arr2 = np.array(list2)
res_arr = np.multiply(arr1, arr2)
result = res_arr.tolist()
سيؤدي هذا إلى إرجاع نفس النتيجة كما في الأمثلة السابقة: [4 ، 10 ، 18].
كيفية الجمع بين Functools و NumPy في بايثون
تحتوي مكتبة functools على وظيفة تصغير تقوم بتطبيق وظيفة معينة بشكل تراكمي على العناصر الموجودة في قائمة ، مما يقلل القائمة إلى قيمة واحدة.
لمضاعفة قائمتين باستخدام وظيفة تقليل () ، يمكنك دمجها مع وظيفة الضرب من مكتبة NumPy.
هنا مثال:
from functools import reduce
import numpy as np
list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = reduce(np.multiply, [list1, list2])
يستورد هذا الكود المكتبات الضرورية ويستخدم وظيفة تقليل () جنبًا إلى جنب مع numpy.multiply () لإجراء عملية الضرب حسب العنصر للقائمتين.
العمل مع القوائم وهياكل البيانات الأخرى في Python
تتطلب معظم جوانب تحليلات البيانات العمل مع القوائم والمجموعات وهياكل البيانات الأخرى. على سبيل المثال ، ستستخدم معرفتك عند التعامل مع البيانات المفقودة مع الاستيفاء.
شاهد هذا الفيديو للتعرف على بعض التقنيات المتقدمة:
افكار اخيرة
لقد تعلمت طرقًا مختلفة لضرب القوائم حسابيًا في بايثون. يستخدم البعض فقط الوحدات والوظائف المدمجة ، بينما يعتمد البعض الآخر على مكتبات الطرف الثالث.
تفتح القدرة على إجراء الضرب حسب العناصر الباب أمام عدد لا يحصى من التطبيقات. من تحليل البيانات إلى التعلم الآلي ، تعد هذه العمليات جزءًا أساسيًا من العديد من الخوارزميات والمهام الحسابية.
بينما ركزت هذه المقالة على الضرب ، فإن المفاهيم التي تعلمتها تمتد إلى عمليات أخرى أيضًا. يمكن أيضًا تحقيق الجمع والطرح والقسمة على أساس العناصر بالطريقة نفسها.
تذكر أن أفضل طريقة لترسيخ هذه المفاهيم هي من خلال تطبيقها - لذا انطلق وأطلق بيئة Python وابدأ التجربة. سواء كنت تقوم بأتمتة المهام ، أو تتلاعب بالبيانات ، أو تبني برامج معقدة ، فإن هذه التقنيات ستكون بلا شك مفيدة.
بايثونينج سعيد!
تعرف على تقنية تصور LuckyTemplates هذه حتى تتمكن من إنشاء قوالب الخلفية واستيرادها إلى تقارير LuckyTemplates الخاصة بك.
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.
في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.
سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.
في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.
أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.
تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.
سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX في توفير النتائج.
إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.