Numpy: لاغية تحويل الأعداد الصحيحة

تم إنشاؤها على ٢٨ أكتوبر ٢٠٢٠  ·  3تعليقات  ·  مصدر: numpy/numpy

أهلا،

أدخلت الباندا مؤخرًا نوع Dtype صحيحًا:
https://pandas.pydata.org/pandas-docs/stable/user_guide/integer_na.html

أتوقع أن يقوم numpy بتحويل هذه المصفوفات تلقائيًا إلى نوع عائم وملء np.nan. ومع ذلك ، فإنه يحولها إلى اعتراض لسبب ما:

pd.DataFrame({'col': [1, np.nan, 3]}).astype('UInt8').values.dtype

مما يؤدي إلى أخطاء مثل هذه

np.nanmax(pd.DataFrame({'col': [1, np.nan, 3]}).astype('UInt8').values)

إرجاع "TypeError: القيمة المنطقية لـ NA غامضة"

هل هذا متوقع؟

ال 3 كومينتر

هل هذا متوقع؟

أود أن أقول نعم ، لأن الأعداد الصحيحة الفارغة ليست من نوع NumPy.

أوافق ، هذا في الأساس عن طريق التصميم ويعني أن الأشياء تعمل كما هو متوقع. ليس من المستحيل أن يفهم NumPy هذا في مرحلة ما ، لكن من غير المحتمل أن يحدث قريبًا.

باستخدام UInt8 ، فأنت تختار أن NaN ليس مثل NA ، والباندا لديها pd.NA الآن لجعل هذا التمييز أكثر وضوحًا.

@ Kreol64 فتحت pandas # 37460 لمناقشة هذا في جانب الباندا

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

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

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

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

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

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

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