كيفية تجميع المتغيرات في بايثون باستخدام numpy.digitize()


في كثير من الأحيان قد تكون مهتمًا بوضع قيم المتغير في “صناديق” في بايثون.

لحسن الحظ، من السهل القيام بذلك باستخدام الدالة numpy.digitize() ، والتي تستخدم الصيغة التالية:

numpy.digitize(x, bins, right=False)

ذهب:

  • x: مجموعة إلى مجموعة.
  • الصناديق: مجموعة من الصناديق.
  • يمين: يشير إلى ما إذا كانت الفواصل الزمنية تتضمن الحافة اليمنى أو اليسرى للسلة. بشكل افتراضي، لا يتضمن الفاصل الزمني الحافة اليمنى.

يوضح هذا البرنامج التعليمي عدة أمثلة للاستخدام العملي لهذه الوظيفة.

مثال 1: ضع جميع القيم في سلتين

يوضح الكود التالي كيفية وضع قيم المصفوفة في سلتين:

  • 0 إذا س <20
  • 1 إذا س ≥ 20
 import numpy as np

#create data
data = [2, 4, 4, 7, 12, 14, 19, 20, 24, 31, 34]

#place values into bins
n.p. digitize (data, bins=[20])

array([0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1])

مثال 2: ضع جميع القيم في ثلاث صناديق

يوضح الكود التالي كيفية وضع قيم المصفوفة في ثلاث صناديق:

  • 0 إذا س <10
  • 1 إذا 10 ≥ س <20
  • 2 إذا س ≥ 20
 import numpy as np

#create data
data = [2, 4, 4, 7, 12, 14, 20, 22, 24, 31, 34]

#place values into bins
n.p. digitize (data, bins=[10, 20])

array([0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2])

لاحظ أنه إذا حددنا right= True فسيتم وضع القيم في الخانات التالية:

  • 0 إذا س ≥ 10
  • 1 إذا 10 < س ≥ 20
  • 2 إذا س > 20

سيتضمن كل فاصل زمني الحافة اليمنى للسلة. هذا هو ما يبدو:

 import numpy as np

#createdata
data = [2, 4, 4, 7, 12, 14, 20, 22, 24, 31, 34]

#place values into bins
n.p. digitize (data, bins=[10, 20], right= True )

array([0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2])

مثال 3: ضع جميع القيم في أربع صناديق

يوضح الكود التالي كيفية وضع قيم المصفوفة في ثلاث صناديق:

  • 0 إذا س <10
  • 1 إذا 10 ≥ س <20
  • 2 إذا 20 ≥ س < 30
  • 3 إذا س ≥ 30
 import numpy as np

#createdata
data = [2, 4, 4, 7, 12, 14, 20, 22, 24, 31, 34]

#place values into bins
n.p. digitize (data, bins=[10, 20, 30])

array([0, 0, 0, 0, 1, 1, 2, 2, 2, 3, 3])

مثال 4: حساب تكرار كل سلة

دالة NumPy مفيدة أخرى تكمل الدالة numpy.digitize() وهي الدالة numpy.bincount() ، التي تحسب ترددات كل حاوية.

الكود التالي يوضح كيفية وضع قيم المصفوفة في ثلاث مجموعات، ثم حساب تكرار كل مجموعة:

 import numpy as np

#createdata
data = [2, 4, 4, 7, 12, 14, 20, 22, 24, 31, 34]

#place values into bins
bin_data = np. digitize (data, bins=[10, 20])

#view binned data
bin_data

array([0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2])

#count frequency of each bin
n.p. bincount (bin_data)

array([4, 2, 5])

يخبرنا الإخراج أن:

  • يحتوي الصندوق “0” على 4 قيم بيانات.
  • يحتوي الصندوق “1” على قيمتين للبيانات.
  • يحتوي الصندوق “2” على 5 قيم بيانات.

ابحث عن المزيد من دروس بايثون هنا .

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *