Numpy: عدد عينات الهستغرام سالب مع الحاويات = "تلقائي"

تم إنشاؤها على ٢٧ أغسطس ٢٠١٩  ·  4تعليقات  ·  مصدر: numpy/numpy

الحصول على Number of samples, -20, must be non-negative. عند محاولة إنشاء مدرج تكراري لمجموعة البيانات الخاصة بي.

مثال على إعادة إنتاج الكود:

import numpy as np

my_data = np.loadtxt("my_data.csv", delimiter=',', dtype=np.int16)

n_base, bins_base = np.histogram(my_data, bins="auto")

هنا my_data.csv

رسالة خطأ:


يجب أن يكون عدد العينات ، -20 ، غير سالب.

معلومات إصدار Numpy / Python:


1.16.4 3.7.4 (افتراضي ، 13 أغسطس 2019 ، 20:35:49)
[مجلس التعاون الخليجي 7.3.0]

00 - Bug numpy.lib

التعليق الأكثر فائدة

شكرا لتقرير الشوائب. أستطيع أن أؤكد أن هذا الخطأ موجود في الفرع الرئيسي أيضًا.

مطورو NumPy: المشكلة هي أن هناك دالة داخلية ، _hist_bin_sturges في histograms.py ، تستخدم الطريقة ptp لحساب الفرق بين الحد الأقصى والحد الأدنى من المصفوفة باستخدام dtype int16 . في هذه الحالة ، الحد الأقصى هو 32767 والحد الأدنى هو -16 ، لذلك يجب أن يكون الاختلاف 32783. لكن ptp تُرجع قيمة من نفس نوع المصفوفة ، لذلك تُرجع -32753 ، مما ينتج عنه حساب غير صحيح.

يمكننا إصلاح ذلك عن طريق استبدال x.ptp() بشيء مثل x.max().item() - x.min().item() .

ال 4 كومينتر

ومن المثير للاهتمام ، أنه عندما أقوم بتحويل مجموعة البيانات هذه إلى "عائم" ، يتم إنشاء المدرج التكراري بدون مشكلة

شكرا لتقرير الشوائب. أستطيع أن أؤكد أن هذا الخطأ موجود في الفرع الرئيسي أيضًا.

مطورو NumPy: المشكلة هي أن هناك دالة داخلية ، _hist_bin_sturges في histograms.py ، تستخدم الطريقة ptp لحساب الفرق بين الحد الأقصى والحد الأدنى من المصفوفة باستخدام dtype int16 . في هذه الحالة ، الحد الأقصى هو 32767 والحد الأدنى هو -16 ، لذلك يجب أن يكون الاختلاف 32783. لكن ptp تُرجع قيمة من نفس نوع المصفوفة ، لذلك تُرجع -32753 ، مما ينتج عنه حساب غير صحيح.

يمكننا إصلاح ذلك عن طريق استبدال x.ptp() بشيء مثل x.max().item() - x.min().item() .

معظم مقدرات الحاوية الأخرى لديها نفس المشكلة مع x.ptp() .

يوجد إصلاح محتمل في https://github.com/numpy/numpy/pull/14381.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

keithbriggs picture keithbriggs  ·  3تعليقات

marcocaccin picture marcocaccin  ·  4تعليقات

Levstyle picture Levstyle  ·  3تعليقات

manuels picture manuels  ·  3تعليقات

dmvianna picture dmvianna  ·  4تعليقات